自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux操作系統(tǒng)下GTK界面編程

運維 系統(tǒng)運維
今天,開始在工作之余,抽出時間來學習linux界面編程。我計劃在未來的半年內(nèi),學會 linux下的GTK+界面編程。這個文檔作為我學習linux編程的第一個文檔,我會盡量做的詳 細一點。我所用的linux版本是Red Hat 9.0。

 

今天,開始在工作之余,抽出時間來學習linux界面編程。我計劃在未來的半年內(nèi),學會 linux下的GTK+界面編程。這個文檔作為我學習linux編程的***個文檔,我會盡量做的詳 細一點。我所用的linux版本是Red Hat 9.0。

***個程序——Hello,World

在開始寫***個程序之前,需要做一點基本操作。

我登陸linux使用的是root用戶(根用戶,也叫超級用戶)。所以,所有筆記中產(chǎn)生的截圖,均是root用戶下的。

一、在linux桌面點擊右鍵,在快捷菜單中選擇“新建終端”選項,打開類似DOS的窗口。

二、使用mkdir命令創(chuàng)建一個文件夾,文件夾命名為gtkgui,命令輸入為:mkdir gtkgui  

       輸入完畢后敲回車鍵即可創(chuàng)建目錄gtkgui,需要注意的是該目錄的路徑是:/root/gtktui

三、使用cd命令進入目錄gtkgui       命令輸入:cd gtkgui

       輸入命令后敲回車鍵即可進入目錄gtkgui 

四、創(chuàng)建***個程序存放的目錄,和***步一樣,這次在gtkgui目錄下創(chuàng)建一個子目錄1gui 然后進入1gui目錄。創(chuàng)建目錄命令:mkdir 1gui   進入目錄命令:cd lgui 命令界面輸入。

        (注意1gui***個字符是“一”,不是小寫的L)。

        小提示:若你想查看當前目錄的絕對路徑??梢栽诮K端敲入命令:pwd

        現(xiàn)在可以清楚的看到當前工作目錄是“/root/gtkgui/1gui”。

五、編寫代碼,在開始寫***個程序之前,說說VI編輯器。假設(shè)要寫的程序是firstgui.c,則在終端中敲入 vi firstgui.c   然后回車,就進入編輯文件firstgui.c狀態(tài)了,VI命令后面的文件若存在,則直接打開,若不存在,則新建一個。進入文件編輯狀態(tài)后,必須按a鍵, 才可向文件輸入東西,當編輯完后,按esc鍵退出編輯模式,再按shift+;鍵,***輸入wq(write and quit)退出 VI。好了,在寫程序中,再說一遍就記住了。

1、 創(chuàng)建 firstgui.c并編輯它

命令:vi first.c   然后敲回車進入編輯模式

必須先按下 a 鍵(還有其他的鍵也可(如i鍵),不過我覺得按下a鍵比較方便)才可輸入字符,現(xiàn)在按一下a鍵,終端變成圖1.8所示的效果。

按一下a鍵后(注意左下方有個--插入--),進入編輯模式

現(xiàn)在開始輸入***個程序的代碼,代碼原型如下:

  1. #include   
  2.  
  3. int main(int argc,char*argv[])  
  4.  
  5. {  
  6.  
  7.        GtkWidget *window;  
  8.  
  9.        gtk_init(&argc,&argv);  
  10.  
  11.        window=gtk_window_new(GKT_WINDOW_TOPLEVEL);  
  12.  
  13.        gtk_window_set_title(GTK_WINDOW(window),”Hello,World”);  
  14.  
  15.        gtk_widget_show(window);  
  16.  
  17.        gtk_main();  
  18.  
  19.        return 0;  
  20.  
  21. }  
  22.  

現(xiàn)在代碼輸入完畢,需要保存文件并推出編輯器,先按一下esc鍵退出編輯模式,然后按組合鍵:shift+;鍵 ***輸入wq并敲回車鍵就保存了文件并退出編輯模式了。退出VI后的界面如圖1.20所示。

使用ll命令(小寫的LL)查看剛才編寫的firstgui.c是否存在。

若想看文件內(nèi)容,使用cat firstgui.c 命令就可看到文件firstgui.c的內(nèi)容了。

六、編譯代碼

在終端敲入下列命令及參數(shù),編譯連接程序

命令及參數(shù):gcc firstgui.c -o firstgui `pkg-config --cflags --libs gtk+-2.0`

命令說明:    gcc 編譯命令

                     firstgui.c 源程序文件名

                     -o 編譯參數(shù),(不是0(零),是opq的o)

                     firstgui 編譯連接后的可執(zhí)行文件名,可以為任意合法的文件名

                     `   這個符號是和~呆在一起的那個鍵上,不要誤認為是單引號‘

                     pkg后面與-config之間沒有空格

                     cflags 前面是兩個短線 --

                 libs前面也是兩個短線 --

七、運行程序

鍵入 ./firstgui 后回車便可看到效果了。

需要注意的是,該程序當你點擊窗口右上角上的小X關(guān)閉窗口時,窗口倒是關(guān)閉了。但是程序還在運行,你必須在終端下按組合鍵:Ctrl+c來關(guān)閉進程。

八、程序分析

GtkWidget *window; 相當于Windows下的

WNDCLASS

結(jié)構(gòu)體,不過window在此只是一個窗口指針,用于指向函數(shù)gtk_window_new()函數(shù)返回的窗口地址而已。

gtk_init(&argc,&argv);

初始化界面庫等一系列操作的函數(shù),當其調(diào)用失敗時,其將終止我們的程序,目前只要記住在編寫任何窗口函數(shù)之前,都保證該函數(shù)是***個被調(diào)用的就行了。

window=gtk_window_new(GTK_WINDOW_TOPLEVEL);

該函數(shù)創(chuàng)建一個新的GtkWidget對象(目前我認為其就是創(chuàng)建了一個還沒有顯示的窗 口),并返回該對象的指針。該函數(shù)參數(shù)僅有兩個,其中一個是上面的GTK_WINDOW_TOPLEVEL,表示創(chuàng)建一個“主窗口”,另一個則是 GTK_WINDOW_POPUP,表示創(chuàng)建一個彈出窗口。

gtk_window_set_title(GTK_WINDOW(window),”Hello,World”);該函數(shù)設(shè)置窗口的標題。

gtk_widget_show(window); 該函數(shù)將窗口顯示出來。

gtk_main();該函數(shù)捕獲一些消息吧。在沒有調(diào)用函數(shù)gtk_main_quit()函數(shù)之前,即使你關(guān)閉窗口,進程也不關(guān)閉的原因就在此。

 

八、總結(jié)

 

創(chuàng)建窗口主要步驟:

1、GtkWidget *window;

2、gtk_init(&argc,&argv);

3、windows=gtk_window_new(GTK_WINDOW_TOPLEVEL);

4、gtk_widget_show(window);

5、gtk_main();

 

***,注意編譯命令。后面的那些參數(shù)。

目前,X窗口(Xwindow)和GNU編譯系統(tǒng)已成為應(yīng)用linux或unix操作系統(tǒng)的計算機工作站和大型計算機上最主要的圖形用戶界面系統(tǒng)。而GTK正是兩者結(jié)合的編程開發(fā)包,它比以往用的Xwindow/Motif編程更為簡單方便,功能也很強大。所以,我想會有著較好的應(yīng)用前景。這是我的心得體會,希望能夠?qū)Υ蠹矣兴鶐椭?/P>

【編輯推薦】

  1. 一個中國留學生在德國所感受到的Linux氛圍
  2. 微軟曾將開源與Linux混為一談
  3. IT十大死對頭:Linux單挑Windows 谷歌對抗所有人
  4. 并發(fā)編程的 15 條建議
  5. 2010最危險的編程錯誤
  6. 提高編程效率的14件事
責任編輯:zhaolei
相關(guān)推薦

2009-08-27 10:23:52

2014-07-29 10:12:38

LinuxC語言編程

2009-06-21 13:50:03

Linux隱藏文件

2011-01-05 10:32:31

linuxqq

2009-12-09 17:25:19

Linux操作系統(tǒng)

2009-06-25 08:53:03

Linux操作系統(tǒng)

2009-09-01 09:20:24

Linux操作系統(tǒng)聲音設(shè)備編程實例

2020-12-29 16:39:01

Linux代碼命令

2025-04-16 04:22:00

2009-09-18 13:17:05

2010-04-29 14:08:38

Unix操作系統(tǒng)

2009-12-11 17:12:37

Linux操作系統(tǒng)

2010-03-04 14:44:18

2009-04-07 15:45:54

2009-12-16 09:43:12

Linux操作系統(tǒng)

2009-12-22 13:44:33

Linux操作系統(tǒng)

2014-09-10 09:54:43

2009-12-14 17:46:40

Linux桌面操作系統(tǒng)

2010-03-29 10:02:22

配置無線連接Linux操作系統(tǒng)

2010-05-12 15:34:26

MySQL編碼設(shè)置
點贊
收藏

51CTO技術(shù)棧公眾號