《Linux應(yīng)用實(shí)例教程》課件-講義35開發(fā)環(huán)境安裝-GTK安裝與應(yīng)用測(cè)試_第1頁(yè)
《Linux應(yīng)用實(shí)例教程》課件-講義35開發(fā)環(huán)境安裝-GTK安裝與應(yīng)用測(cè)試_第2頁(yè)
《Linux應(yīng)用實(shí)例教程》課件-講義35開發(fā)環(huán)境安裝-GTK安裝與應(yīng)用測(cè)試_第3頁(yè)
《Linux應(yīng)用實(shí)例教程》課件-講義35開發(fā)環(huán)境安裝-GTK安裝與應(yīng)用測(cè)試_第4頁(yè)
《Linux應(yīng)用實(shí)例教程》課件-講義35開發(fā)環(huán)境安裝-GTK安裝與應(yīng)用測(cè)試_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

S11、開發(fā)環(huán)境安裝-GTK安裝與應(yīng)用測(cè)試S11、開發(fā)環(huán)境安裝-GTK安裝與應(yīng)用測(cè)試S11、開發(fā)環(huán)境安裝-GTK安裝與應(yīng)用測(cè)試1、安裝gcc/g++/gdb/make等基本編程工具sudoapt-getinstallbuild-essentialg++--version2.安裝libgtk2.0-devlibglib2.0-dev等開發(fā)相關(guān)的庫(kù)文件sudoapt-getinstallgnome-core-devel3.安裝編譯GTK程序時(shí)自動(dòng)找出頭文件及庫(kù)文件位置的配置包sudoapt-getinstallpkg-config4.安裝devhelpGTK文檔查看程序sudoapt-getinstalldevhelpS11、開發(fā)環(huán)境安裝-GTK安裝與應(yīng)用測(cè)試5.安裝gtk/glib的API參考手冊(cè)及其它幫助文檔sudoapt-getinstalllibglib2.0-doclibgtk2.0-doc6.安裝基于GTK的界面sudoapt-getinstallgladelibglade2-dev7.安裝gtk2.0或gtk+2.0所需文件sudoapt-getinstalllibgtk2.0-devS11、開發(fā)環(huán)境安裝-GTK安裝與應(yīng)用測(cè)試查看GTK庫(kù)版本1.查看gtk2.x版本pkg-config--modversiongtk+-2.02.查看pkg-config的版本pkg-config--version3.查看是否安裝了gtkpkg-config--list-all|grepgtkS11、開發(fā)環(huán)境安裝-GTK安裝與應(yīng)用測(cè)試應(yīng)用測(cè)試建立程序文件t2.c:S11、開發(fā)環(huán)境安裝-GTK安裝與應(yīng)用測(cè)試#include<gtk/gtk.h> //頭文件#include<stdio.h>GtkWidget*labeltitle,*lablecontent;//標(biāo)簽變量//鼠標(biāo)點(diǎn)擊事件處理函數(shù)gbooleandeal_mouse_press(GtkWidget*widget,GdkEventButton*event,gpointerdata){ gcharstr[100]; switch(event->button){ //判斷鼠標(biāo)點(diǎn)擊的類型 case1: printf("鼠標(biāo)左鍵單擊!!\n"); //在字符終端上輸出 sprintf(str,"鼠標(biāo)左鍵單擊"); //將格式化的數(shù)據(jù)寫入字符串 break; case2: printf("鼠標(biāo)中鍵單擊!!\n"); sprintf(str,"鼠標(biāo)中鍵單擊"); break;S11、開發(fā)環(huán)境安裝-GTK安裝與應(yīng)用測(cè)試 case3: printf("鼠標(biāo)右鍵單擊!!\n"); sprintf(str,"鼠標(biāo)右鍵單擊"); break; default: printf("鼠標(biāo)未知按鍵單擊!!\n"); sprintf(str,"鼠標(biāo)未知按鍵單擊"); } if(event->type==GDK_2BUTTON_PRESS){ printf("鼠標(biāo)雙擊\n"); sprintf(str,"鼠標(biāo)雙擊");

} ginti=event->x; gintj=event->y; printf("鼠標(biāo)位置:(%d,%d)\n",i,j); sprintf(str,"鼠標(biāo)位置:(%d,%d)",i,j); //將格式化的數(shù)據(jù)寫入字符串 gtk_label_set_text(GTK_LABEL(lablecontent),str); //將字符串顯示在標(biāo)簽控件上 returnTRUE;}S11、開發(fā)環(huán)境安裝-GTK安裝與應(yīng)用測(cè)試gbooleandeal_motion_notify_event(GtkWidget*widget,GdkEventMotion*event,gpointerdata){ gcharstr[100]; //獲得移動(dòng)鼠標(biāo)的坐標(biāo)值,距離窗口左頂點(diǎn) ginti=event->x; gintj=event->y; printf("鼠標(biāo)移動(dòng)位置:(%d,%d)\n",i,j); sprintf(str,"鼠標(biāo)移動(dòng)位置:(%d,%d)",i,j); //將格式化的數(shù)據(jù)寫入字符串 gtk_label_set_text(GTK_LABEL(lablecontent),str); returnTRUE;}S11、開發(fā)環(huán)境安裝-GTK安裝與應(yīng)用測(cè)試intmain(intargc,char*argv[]){ gtk_init(&argc,&argv); //初始化 GtkWidget*button; //按鈕變量 GtkWidget*window=gtk_window_new(GTK_WINDOW_TOPLEVEL); GtkWidget*vbox=gtk_vbox_new(TRUE,3); labeltitle=gtk_label_new("操作信息");//創(chuàng)建標(biāo)簽控件 lablecontent=gtk_label_new("動(dòng)作及位置"); gtk_box_pack_start(GTK_BOX(vbox),labeltitle,FALSE,FALSE,0); //將標(biāo)簽控件加入容器 gtk_box_pack_start(GTK_BOX(vbox),lablecontent,FALSE,FALSE,0);button=gtk_button_new_with_label("關(guān)閉");//創(chuàng)建按鈕控件 gtk_box_pack_start(GTK_BOX(vbox),button,FALSE,FALSE,0); gtk_window_set_title(GTK_WINDOW(window),"GTK圖形用戶界面編程入門"); gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER); gtk_widget_set_size_request(window,400,300);S11、開發(fā)環(huán)境安裝-GTK安裝與應(yīng)用測(cè)試 g_signal_connect(window,"destroy",G_CALLBACK(gtk_main_quit),NULL); //設(shè)置按鈕點(diǎn)擊事件處理函數(shù) g_signal_connect(GTK_OBJECT(button),"clicked",G_CALLBACK(gtk_main_quit),NULL); gtk_widget_add_events(window,GDK_BUTTON_PRESS_MASK|GDK_BUTTON_MOTION_MASK);deal_mouse_event處理 g_signal_connect(window,"button-press-event",G_CALLBACK(deal_mouse_press),NULL); //設(shè)置"motion-notify-event"按住鼠標(biāo)移動(dòng)事件由deal_motion_notify_event處理 g_signal_connect(window,"motion-notify-event",G_CALLBACK(deal_motion_notify_event),NULL); gtk_container_add(GTK_CONTAINER(window),vbox); //將縱向盒狀容器加

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論