C指针原理(37)

浏览:
字体:
发布时间:2013-12-15 22:19:01
来源:

下面演示了如何在窗口中增加一个按钮,示例代码均有注释

#include

static void print_hello (GtkWidget *widget,gpointer data)

{

//这是一个回调函数,这个data表示传给回调函数的参数。

g_print ("你好,世界/n");

}

static gboolean on_delete_event (GtkWidget *widget,GdkEvent *event,gpointer data)

{

//如果返回FALSE在delete_event信号处理中,GTK将发送destroy信号,否则不会,这样窗口就不会关闭。

g_print ("delete event occurred/n");

return TRUE;

}

int main (int argc,char *argv[])

{

GtkWidget *window;

GtkWidget *button;

//初始化gtk应用程序

gtk_init (&argc, &argv);

//创造新的窗口,设置它的标题

window = gtk_window_new (GTK_WINDOW_TOPLEVEL);

gtk_window_set_title (GTK_WINDOW (window), "你好");

//将delete_event信号绑定在on_delte_devent回调函数上,传递的参数为NULL

g_signal_connect (window, "delete-event", G_CALLBACK (on_delete_event), NULL);

//将destroy信号绑定在gtk_main_quit回调函数上,传递的参数为NULL

g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);

//设置窗口的边框宽度

gtk_container_set_border_width (GTK_CONTAINER (window), 10);

//创建一个新的标签

button = gtk_button_new_with_label ("Hello World");

//处理按钮的clicked信号

g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL);

//g_signal_connect_swapped将clicked信号连接到window窗口的gtk_widget_destroy事件中。

g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_widget_destroy), window);

//将按钮加入到容器中

gtk_container_add (GTK_CONTAINER (window), button);

//显示这个按钮

gtk_widget_show (button);

//显示窗口

gtk_widget_show (window);

//开始GTK的主循环

gtk_main ();

return 0;



}

本博客所有内容是原创,如果转载请注明来源

http://blog.csdn.net/myhaspl/


在XMANGER下用VIM编写好后,编译运行




>更多相关文章
24小时热门资讯
24小时回复排行
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 关于东联 | 安全雇佣 | 搞笑视频大全 | 微信学院 | 视频课程 |
关于我们 | 联系我们 | 广告服务 | 免责申明 | 作品发布 | 网站地图 | 官方微博 | 技术培训
Copyright © 2007 - 2024 Vm888.Com. All Rights Reserved
粤公网安备 44060402001498号 粤ICP备19097316号 请遵循相关法律法规
');})();