使用libglade在GTK+中载入Glade设计的图形界面

来源:互联网 发布:手机淘宝打不开咋办 编辑:程序博客网 时间:2024/05/16 12:44
Glade是GTK+的界面辅助设计工具,可以通过拖放控件的方式快速设计出用户界面。

建立界面:

    首先在Glade中建立一个窗口名为main,然后在上面放置一个按钮GtkButton名为button1,并且在“信号”标签中选中“clicked”事件,为此事件指定一个回调函数名称,例如回调函数是 void on_button_clicked(GtkWidget *widget),则只需在“clicked”事件的回调函数名称处填on_button_clicked。最后保存界面设计文件为 myWindow.glade。

代码中调用:

首先需要引用libglade的头文件:
#include <glade/glade.h>

如下代码便可:
GladeXML *xml = glade_xml_new("myWindow.glade", NULL, NULL);  //载入并新建整个界面

//自动连接Glade设置的回调关系   (刚才在Glade中我们设置了button1的clicked事件回调函数为on_button_clicked)
glade_xml_signal_autoconnect(xml);

//获取主窗体
GtkWidget *mainWindow = glade_xml_get_widget(xml,"main");

//设置窗体标题(其实在Glade中就可以设置)
gtk_window_set_title(GTK_WINDOW(mainWindow),"My Test Window");

//获取按钮
GtkWidget *button = glade_xml_get_widget(xml,"button1");

on_button_clicked代码:
void on_button_clicked(GtkWidget *widget)
{
    g_print(
"button1 clicked /n");
}


最后在gcc链接的时候必须加上-rdynamic参数,这样才能使glade_xml_signal_autoconnect(xml); 调用找到对应的回调函数。
原创粉丝点击