设为首页 加入收藏

TOP

C指针原理(37)
2014-11-23 21:33:57 来源: 作者: 【 】 浏览:14
Tags:指针 原理

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

#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编写好后,编译运行




】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇关于Objective C的私有函数 下一篇综合案例:输入一个整数判定是否..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: