S11、开发环境安装-GTK安装与应用测试S11、开发环境安装-GTK安装与应用测试
S11、开发环境安装-GTK安装与应用测试1、安装gcc/g++/gdb/make等基本编程工具sudoapt-getinstallbuild-essentialg++--version2.安装libgtk2.0-devlibglib2.0-dev等开发相关的库文件sudoapt-getinstallgnome-core-devel3.安装编译GTK程序时自动找出头文件及库文件位置的配置包sudoapt-getinstallpkg-config4.安装devhelpGTK文档查看程序sudoapt-getinstalldevhelp
S11、开发环境安装-GTK安装与应用测试5.安装gtk/glib的API参考手册及其它帮助文档sudoapt-getinstalllibglib2.0-doclibgtk2.0-doc6.安装基于GTK的界面sudoapt-getinstallgladelibglade2-dev7.安装gtk2.0或gtk+2.0所需文件sudoapt-getinstalllibgtk2.0-dev
S11、开发环境安装-GTK安装与应用测试查看GTK库版本1.查看gtk2.x版本pkg-config--modversiongtk+-2.02.查看pkg-config的版本pkg-config--version3.查看是否安装了gtkpkg-config--list-all|grepgtk
S11、开发环境安装-GTK安装与应用测试应用测试建立程序文件t2.c:
S11、开发环境安装-GTK安装与应用测试#includegtk/gtk.h //头文件#includestdio.hGtkWidget*labeltitle,*lablecontent;//标签变量//鼠标点击事件处理函数gbooleandeal_mouse_press(GtkWidget*widget,GdkEventButton*event,gpointerdata){ gcharstr[100]; switch(event-button){ //判断鼠标点击的类型 case1: printf(鼠标左键单击!!\n); //在字符终端上输出 sprintf(str,鼠标左键单击); //将格式化的数据写入字符串 break; case2: printf(鼠标中键单击!!\n); sprintf(str,鼠标中键单击); break;
S11、开发环境安装-GTK安装与应用测试 case3: printf(鼠标右键单击!!\n); sprintf(str,鼠标右键单击); break; default: printf(鼠标未知按键单击!!\n); sprintf(str,鼠标未知按键单击); } if(event-type==GDK_2BUTTON_PRESS){ printf(鼠标双击\n); sprintf(str,鼠标双击); } ginti=event-x; gintj=event-y; printf(鼠标位置:(%d,%d)\n,i,j); sprintf(str,鼠标位置:(%d,%d),i,j); //将格式化的数据写入字符串 gtk_label_set_text(GTK_LABEL(lablecontent),str); //将字符串显示在标签控件上 returnTRUE;}
S11、开发环境安装-GTK安装与应用测试gbooleandeal_motion_notify_event(GtkWidget*widget,GdkEventMotion*event,gpointerdata){ gcharstr[100]; //获得移动鼠标的坐标值,距离窗口左顶点 ginti=event-x; gintj=event-y; printf(鼠标移动位置:(%d,%d)\n,i,j); sprintf(str,鼠标移动位置:(%d,%d),i,j); //将格式化的数据写入字符串 gtk_label_set_text(GTK_LABEL(lablecontent),str); returnTRUE;}
S11、开发环境安装-GTK安装与应用测试intmain(intargc,char*argv[]){ gtk_init(argc,argv); //初始化 Gt