我是靠谱客的博主 健忘网络,最近开发中收集的这篇文章主要介绍关于在gtk+操作图形控件的小结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.在实际的操作当中,碰到了如何获得同一窗口控件,如何能够获得另一个窗口控件,如何能够获得控件所在窗口等等问题,查看FAQ能够得到使用

g_object_get_data ()和g_object_set_data ()附加数据

 

gtk_widget_get_toplevel ()获得控件的顶层窗口

 

到目前为止,我还是不懂如何使用glade+gtk+结合的方式操作控件,翻越了google以后得到如下线索,可以方便的操纵控件,

定义一个传递的数据结构,形如:

 

typedef struct _Data Data;
struct _Data
{
    GtkBuilder *builder;
    GtkWidget *msg_dialog;
    GtkWidget *inter_dialog; 

    gchar  text;

...

};

在既包含了传递的控件信息,又包含了需要传递的文字信息,在连接的时候只需要传递这个jiegou即可,然后在任意回调函数中使用gtk_builder_get_object获得信息,非常方便。

 

 

 

注意:builder释放的时候需要在gtk_main后面。

 

1  gtk_main();
2  g_object_unref(G_OBJECT(data.builder));

 以上仅是作为实验使用,请慎重~


 2.在使用glade+gtk进行窗口传递数据的时候碰到了麻烦,比如最简单的例子,主窗口传递数据到子窗口,子窗口处理完成后返回到主窗口,子窗口销毁的问题。使用之前提到的思路,那么在子窗口返回后销毁的问题,有两个思路,1是在子窗口当中添加destroy信号。2是在返回到主窗口进行处理

 

基于以上2点思路进行实验,

 情况1:

 

 

 

情况2:

能够使用gtk_widget_hide进行窗口的隐藏,不能够使用gtk_widget_destroy销毁窗口,如需要强行使用,需要在建立一个builder,添加物件后方可销毁,因为物件指向是指针。

 

 

 

转载于:https://www.cnblogs.com/xiaoxia/archive/2011/08/09/2132688.html

最后

以上就是健忘网络为你收集整理的关于在gtk+操作图形控件的小结的全部内容,希望文章能够帮你解决关于在gtk+操作图形控件的小结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部