C指针原理(37)
下面演示了如何在窗口中增加一个按钮,示例代码均有注释
#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编写好后,编译运行
- 09-29如何通过wrap malloc定位C/C++程序的内存泄漏
- 02-25打车软件大战升级,补贴还能维持多久?
- 12-23BMP文件右旋90度[c语言]
- 12-23寻找直方图中面积最大的矩形(C语言版)
- 12-23[ndk,2]ndk开发案例和错误处理
- 12-23[ndk,1]ndk开发,C语言入门讲解
- 12-23C语言连续存储实现队列机制
- 12-23Objective-c 数据类型
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 11-18LG新能源宣布与Bear Robotics达成合作,成为
- 11-18机构:三季度全球个人智能音频设备市场强势
- 11-18闲鱼:注册用户过6亿 AI技术已应用于闲置交
- 11-18美柚、宝宝树回应“涉黄短信骚扰”:未发现
- 11-01京东七鲜与前置仓完成融合