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)

{

//如果返回FALSEdelete_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_swappedclicked信号连接到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编写好后,编译运行




1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 助学贷款登录密码忘了怎么办 抖音换了手机登不了怎么办 微信忘记密码申诉失败怎么办 银行卡短信通知没了怎么办 斗鱼手机号被绑定了怎么办 网易邮箱不记得账号怎么办 qq号被盗申诉不回来怎么办 号被盗了申诉不回来怎么办 富士康离职后工资卡号没填怎么办? 填高考志愿时没填电话号码怎么办 铁路12306密码忘了怎么办 微销通提示网络请求失败怎么办 苹果手机出现不停播报情况怎么办 手做俯卧撑抬不起来怎么办 如果qq号被冻结了怎么办 买的qq号被冻结怎么办 联想平板怎么下载东西怎么办 所有浏览器都安装不了怎么办 忘记微博登录邮箱怎么办 丰巢验证码丢了怎么办 微博昵称忘了怎么办 163邮箱账号忘记了怎么办 苹果手机id邮箱忘记了怎么办 微信号没注销了怎么办 微信昵称换不了怎么办 微博支付密码忘记怎么办 微博支付密码忘记了怎么办 华为手机看不见截屏怎么办 支付宝密码错误被锁定怎么办 实名身份证的微信限额怎么办 工行网银登陆密码忘了怎么办 美亚买的东西坏了怎么办 海带宝转运到香港怎么办 海带宝转运仓库入库错误怎么办 三星s7edge密码忘了怎么办 ie网页被拦截了怎么办 手机打开百度网页弹出广告怎么办 网站策略服务已被禁用怎么办 谷歌浏览器打不开网页怎么办 mac用户名密码忘记了怎么办 苹果7网速太慢怎么办