|
Linux下的GUI編程第一篇--初探GTK-+2.0
小弟的上一篇發表中曾提到,Linux 在本土企業界的使用面對的其中一個問題是軟件支援。
縱觀本土軟体公司,有能力開發Linux平臺軟体的究竟有多少?
其原因大概是應為教育機構,學院,大學裏所修讀的課程裏大多不包括這類編程工具。
參考文獻有少得可憐。中文方面的資料更是屈指可數。
所以,這次小弟自不量力來為大家介紹一下在Linux 下的GUI開發工具。
如有貽誤,還望糾正指教。
首先,先看看下面這個程式(我自己本身習慣看範例才去了解,所以有如此安排)
#include<gtk/gtk.h>
#include<stdio.h>
int main(int argv,char *argc[])
{
GtkWidget *wndMain;
gtk_init(&argc,argv);
wndMain = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_show(wndMain);
gtk_main();
return 0;
}
編譯指令為
#gcc hello.c -ohello `pkg-config --cflag --libs gtk-+2.0`
如果編譯出現問題,請檢查Gtk-+2.0 是否安裝。
#include<gtk/gtk.h>
如果對於這行有問題的話。。。。請自己參考有關C語言的書籍。(基本上gtk.h檔包含了gtk 的所有函數宣告)
int mian(int argv,char *argc[])
很多C語言新手都不明白爲何不是 int main(void) 或者 void main(void)....
基本上int argv 是呼叫此程式是所傳進來的變量數,而char *argc則是變量列陣。
gtk_init(&argc,&argv);
設定Gtk的起始環境。
好了,第一個Gtk的指針登場啦!
GtkWidget *wndMain;
GtkWidget 是一個附件工具。
wndMain = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_new 函數創建一個新的Gtk 視窗並將其地址傳囘。
GTK_WINDOWS_TOPLEVEL 變數告訴gtk_window_new函數創建一個大小為200x200的 top level視窗
gtk_show(wndMain);
相信單看函數名字聰敏的你已經知道那是將wndMain所指像的視窗顯示出來的吧。
最後gtk_main();函數將程式進程導入gtk的巡迴進程。
結論:
這是一個“廢物”程式,它並不會為你做任何事。只是顯示一個沒有公用的視窗。
至於如何將訊息(signal)和自定義函數接連起來,在下一篇中再談。
(如果打了這麽辛苦反應不好就不做了,浪費時間啦 |
|