使用GtkBuilder設計Gtk 介面

2021-05-11 13:43:45 字數 1939 閱讀 7722

linuxeden管理團隊c-aries

gtk+使用glade進行介面設計能有效地加快專案進度和提高程式的可維護性。

自從gtk2.12,gtk+已經內建了gtkbuilder,用以代替使用glade編寫的程式所依賴的libglade庫檔案。

下面介紹如何使用gtkbuilder寫乙個最基本的介面。

1. 使用glade設計gtk+介面,儲存為glade檔案

2. 用gtk-builder-convert指令碼(gtk+2.0預設安裝該指令碼)將glade**轉換成支援gtkbuilder的**

3. 編寫程式,呼叫gtkbuilder

4. 編譯出可執行程式,執行

$ make

gcc `pkg-config --cflags --libs gtk+-2.0` fsf.c

$ ./a.out

效果如下圖:

題外話:

我是在閱讀cheese的源**中發現gtkbuilder的,然後又發現了個東西

"pkg-config --cflags --libs gtk+-2.0"這一句是怎麼得到的?

$ ls /usr/lib/pkgconfig/gtk+-2.0.pc

/usr/lib/pkgconfig/gtk+-2.0.pc

$ cat /usr/lib/pkgconfig/gtk+-2.0.pc

prefix=/usr

exec_prefix=$

libdir=/usr/lib

includedir=$/include

target=x11

gtk_binary_version=2.10.0

gtk_host=i486-pc-linux-gnu

name: gtk+

description: gimp tool kit ($ target)

version: 2.12.12

requires: gdk-$-2.0 atk cairo

libs: -l$ -lgtk-$-2.0

cflags: -i$/gtk-2.0 $

呵呵,這下明白了吧

比如說編譯呼叫了gstreamer庫的程式,就可以使用

pkg-config --cflags --libs gstreamer-0.10

pkgconfig的預設目錄/usr/lib/pkgconfig下有gstreamer-0.10.pc這一資料檔案

$ ls /usr/lib/pkgconfig/gstreamer-0.10.pc

/usr/lib/pkgconfig/gstreamer-0.10.pc$

g 編譯工具使用

1 預處理 展開巨集,去掉注釋資訊等 gcc e codetest.c o codetest.i 2 生成物件檔案 gcc c codetest.i o codetest.o 3 生成可執行檔案 gcc codetest.o o codetest 至此,生成了可執行檔案codetest,在命令列下執...

g 編譯使用方法

用g 編譯單個原始檔myprog.cc很簡單,只要把檔名當引數傳給g 就行了。g myprog.cc ls l rwxr xr x 1 wvh users 13644 oct 5 16 17 a.out rw r r 1 wvh users 220 oct 5 16 17 myprog.cc 預設情...

g 和gdb簡單使用

在編譯之前我們需要在系統裡安裝g gcc,它們就是linux下的c c的編譯器。如下 sudo apt get install build essential include using namespace std int main void hello display 在g 中有乙個引數 c可以只...