GTK编程基本示例

GTK编程基本示例

ID:41032309

大小:33.81 KB

页数:8页

时间:2019-08-14

GTK编程基本示例_第1页
GTK编程基本示例_第2页
GTK编程基本示例_第3页
GTK编程基本示例_第4页
GTK编程基本示例_第5页
资源描述:

《GTK编程基本示例》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、GTK编程基本示例●GTK简单编程下面的例子是一个GTK最基本例子,它仅仅在屏幕上弹出一个窗口,并且即使关闭该窗口,该程序仍未退出。/*File:base.c*/#includeintmain(intargc,char*argv[]){GtkWidget*window;gtk_init(&argc,&argv);window=gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_widget_show(window);gtk_main();return(0);}其中gtk_init(&argc,&argv)是g

2、tk应用程序的初始化部分,它使gtk应用程序可以接受某些命令行的参量:--gtk-module//载入另外的GTK模块--g-fatal-warnings//使所有警告是致命错误--gtk-debug//调试gtk--gtk-no-debug//不调试gtk--gdk-debug//调试gdk--gdk-no-debug//不调试gdk--display//指定display--sync//使X调用按顺序方式--no-xshm//不使用X共享内存--name//指定窗口管理器使用的程序名--class//指定窗口管理器使用的程序类型其中

3、window=gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_widget_show(window);建立顶级窗口并且显示该窗口,它在缺省情况下是200x200大小。最后gtk_main()使程序进入事件循环阶段,gtk将在内部处理事件。现在让我们编译文件base.c:gcc-Wall-gbase.c-obase`gtk-config--cflags``gtk-config--libs`其中`gtk-config--cflags`产生编译gtk所使用的头文件位置,`gtk-config--libs`产生

4、连接gtk程序所使用的库。一般地,涉及gtk的库有:libgtk.solibgdk.solibgmodule.solibglib.so。接下来把上面的例子变成一个稍微复杂的例子,该例子弹出一个窗口,并且在窗口中显示一个按钮。/*File:helloworld.c*/#includevoidhello(GtkWidget*widget,gpointerdata){g_print("HelloWorld");}gintdelete_event(GtkWidget*widget,GdkEvent*event,gpointerdata){/

5、/打印信息g_print("deleteeventoccurred");//如果返回FALSE,GTK将发出"destroy"信号;如果返回TRUE,//则不让该窗口关闭return(TRUE);}voiddestroy(GtkWidget*widget,gpointerdata){gtk_main_quit();}intmain(intargc,char*argv[]){//GtkWidget是Widget的类型GtkWidget*window;GtkWidget*button;//gtk初始化gtk_init(&argc,&ar

6、gv);//建立新窗口window=gtk_window_new(GTK_WINDOW_TOPLEVEL);//当使用窗口管理器关闭窗口时,将调用delete_event()函数//本例中所传递的参数是NULLgtk_signal_connect(GTK_OBJECT(window),"delete_event",GTK_SIGNAL_FUNC(delete_event),NULL);//把"destroy"事件和信号处理器联系起来gtk_signal_connect(GTK_OBJECT(window),"destroy",GTK_S

7、IGNAL_FUNC(destroy),NULL);//设置窗口的边界宽度gtk_container_set_border_width(GTK_CONTAINER(window),10);//建立一个标签是"HelloWorld"的按钮button=gtk_button_new_with_label("HelloWorld");//当按钮被单击时,即接收到"clicked"信号,将调用hello()函数gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(hell

8、o),NULL);//当按钮被单击时,调用gtk_widget_destroy(window)关闭窗口。//这里将引发"destroy"信号gtk_signal_connect_object(GTK_OBJ

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。