成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

 

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

***個(gè)程序——Hello,World

在開始寫***個(gè)程序之前,需要做一點(diǎn)基本操作。

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

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

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

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

三、使用cd命令進(jìn)入目錄gtkgui       命令輸入:cd gtkgui

       輸入命令后敲回車鍵即可進(jìn)入目錄gtkgui 

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

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

        小提示:若你想查看當(dāng)前目錄的絕對(duì)路徑。可以在終端敲入命令:pwd

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

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

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

命令:vi first.c   然后敲回車進(jìn)入編輯模式

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

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

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

  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`

命令說(shuō)明:    gcc 編譯命令

                     firstgui.c 源程序文件名

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

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

                     `   這個(gè)符號(hào)是和~呆在一起的那個(gè)鍵上,不要誤認(rèn)為是單引號(hào)‘

                     pkg后面與-config之間沒(méi)有空格

                     cflags 前面是兩個(gè)短線 --

                 libs前面也是兩個(gè)短線 --

七、運(yùn)行程序

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

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

八、程序分析

GtkWidget *window; 相當(dāng)于Windows下的

WNDCLASS

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

gtk_init(&argc,&argv);

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

window=gtk_window_new(GTK_WINDOW_TOPLEVEL);

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

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

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

gtk_main();該函數(shù)捕獲一些消息吧。在沒(méi)有調(diào)用函數(shù)gtk_main_quit()函數(shù)之前,即使你關(guān)閉窗口,進(jì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)的計(jì)算機(jī)工作站和大型計(jì)算機(jī)上最主要的圖形用戶界面系統(tǒng)。而GTK正是兩者結(jié)合的編程開發(fā)包,它比以往用的Xwindow/Motif編程更為簡(jiǎn)單方便,功能也很強(qiáng)大。所以,我想會(huì)有著較好的應(yīng)用前景。這是我的心得體會(huì),希望能夠?qū)Υ蠹矣兴鶐椭?/P>

【編輯推薦】

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

2009-08-27 10:23:52

2014-07-29 10:12:38

LinuxC語(yǔ)言編程

2009-06-21 13:50:03

Linux隱藏文件

2011-01-05 10:32:31

linuxqq

2009-12-09 17:25:19

Linux操作系統(tǒng)

2009-09-01 09:20:24

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

2009-06-25 08:53:03

Linux操作系統(tǒng)

2020-12-29 16:39:01

Linux代碼命令

2009-09-18 13:17:05

2009-04-07 15:45:54

2010-03-04 14:44:18

2025-04-16 04:22:00

2009-12-11 17:12:37

Linux操作系統(tǒng)

2009-12-14 17:46:40

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

2010-04-29 14:08:38

Unix操作系統(tǒng)

2009-12-16 09:43:12

Linux操作系統(tǒng)

2009-12-22 13:44:33

Linux操作系統(tǒng)

2014-09-10 09:54:43

2011-01-10 16:34:13

linux安裝

2014-07-28 17:25:25

國(guó)產(chǎn)Linux
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 青青草一区 | 99re免费| 国产成人精品一区二区三区在线 | 午夜a级理论片915影院 | 中文字幕在线播放第一页 | 国产免费一区二区 | 国产一区二区久久 | 国产一区二区精品在线观看 | 免费黄色在线 | 一二区视频| 午夜寂寞影院在线观看 | 亚洲一区二区在线播放 | 亚洲国产精久久久久久久 | 午夜专区 | 嫩草视频免费 | 五十女人一级毛片 | av成年人网站 | 久久麻豆精品 | 精品久久免费 | 午夜免费观看 | 日本黄色大片免费 | 黄色av网站在线免费观看 | 老司机成人在线 | 国产精品久久久久久久久久99 | 久久精品欧美一区二区三区麻豆 | 日韩一区二区av | 国产一区二区三区免费 | 日韩一区二区福利视频 | 欧美寡妇偷汉性猛交 | 中文字幕在线第一页 | 久久久久久久久91 | 一区二区国产精品 | a成人| 一道本在线 | 日韩高清一区 | 最新日韩av | 国产精品一区二区不卡 | 91国内精品久久 | 2019天天干夜夜操 | 少妇午夜一级艳片欧美精品 | 99reav|