C指针原理(37)-gtk
来源:互联网 发布:百度云 for mac 编辑:程序博客网 时间:2024/04/30 23:05
下面演示了如何在窗口中增加一个按钮,示例代码均有注释
#include <gtk/gtk.h>
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编写好后,编译运行
- C指针原理(37)-gtk
- C指针原理(34)-gtk
- C指针原理(35)-gtk
- C指针原理(36)-gtk
- C指针原理(38)-gtk
- C指针原理(1)
- C指针原理(2)
- C指针原理(3)
- C指针原理(4)
- C指针原理(5)
- C指针原理(6)
- C指针原理(8)
- C指针原理(9)
- C指针原理(10)
- C指针原理(11)
- C指针原理(12)
- c二级指针原理
- C指针原理(14)-C指针基础
- VS - 快捷键设置
- 堆和栈的区别
- SL - DataGrid - 使Header能被DataBinding(setter)
- 指来指去
- SL - 输入验证
- C指针原理(37)-gtk
- SL - 整理 - Behavior
- SL - 使用在程序集中的图片
- SL - ToolTip的试用
- VS调试总结
- 判断android app或者service是否存在
- 虚拟机
- Oracle 之 注释的添加和查看
- 图像镜像