分页: 1 / 1

glade编程

发表于 : 2008-10-08 14:48
weihua2008
单纯用GTK+2.0编程似乎太繁琐,于是想用glade辅助编程
glade应该是面向对象的编程工具,但是它同vb或者pb相比较而言似乎又不是那么灵活
也许是刚开学习glade,觉得首先,glade窗口的外观布置就很麻烦,往往看起来并不整齐,美观
再就是各个控件的响应函数的连接觉得无从下手,最简单的就是一个命令按钮中想要使用文本框得到的文本信息就不知如何得到,如何应用
哪位高手,对glade有一定的研究,给指点指点,最好推荐几本相应的教程

Re: glade编程

发表于 : 2008-10-08 16:02
eexpress
libglademm

#include <libglademm/xml.h>

Glib::RefPtr<Gnome::Glade::Xml> xml = Gnome::Glade::Xml::create(GladeFile);
xml->get_widget("window1", pW);
xml->get_widget("label1", pL);
xml->get_widget("image1", pI1);
xml->get_widget("image2", pI2);


T_calendar->signal_toggled().connect(sigc::ptr_fun(&on_T_calendar_toggled));
pW->signal_event().connect(sigc::ptr_fun(&on_window1_key_press_event));

Re: glade编程

发表于 : 2008-10-18 20:55
imjie
eexpress 写了:libglademm

#include <libglademm/xml.h>

Glib::RefPtr<Gnome::Glade::Xml> xml = Gnome::Glade::Xml::create(GladeFile);
xml->get_widget("window1", pW);
xml->get_widget("label1", pL);
xml->get_widget("image1", pI1);
xml->get_widget("image2", pI2);


T_calendar->signal_toggled().connect(sigc::ptr_fun(&on_T_calendar_toggled));
pW->signal_event().connect(sigc::ptr_fun(&on_window1_key_press_event));
原来如此,我一直迷惑了很久。

Re: glade编程

发表于 : 2008-10-19 10:36
weihua2008
imjie,
你说的我挺迷糊

Re: glade编程

发表于 : 2008-10-19 10:53
weihua2008
imjie,
给解释一下原来的撒个如此发

Re: glade编程

发表于 : 2008-10-19 10:57
weihua2008
eexpress,
老大说的有点深奥。有点理解不了,
再点拨一下

Re: glade编程

发表于 : 2008-10-26 21:10
imjie
weihua2008 写了:imjie,
给解释一下原来的撒个如此发
以前用Glade2可以直接生成C、C++代码。Glade3生成的是一种语言无关的XML文件。
eexpress所提供的一段代码是C++读取这种文件的方法。要另外下载libgtkmm库。

Re: glade编程

发表于 : 2008-10-30 10:50
dansley
glade设置外观真的觉得有点抱歉,我就给这个东西烦了好几天了

Re: glade编程

发表于 : 2008-10-30 11:46
weihua2008
dansley 写了:glade设置外观真的觉得有点抱歉,我就给这个东西烦了好几天了
外观还好说点我认为,起码它是可见的,你可以耐下心来整整
我在些代码的时候就不知道该链接哪个信号,最脑袋疼的是用到了线程函数
顺便问问你,你说在一个窗口一打开我就要启动移动一个线程(是不是非得用个g_thread_inter()?),
我用的是pthread_create()外加void* thread_fun(void* pParm)的,
就是这个thread_create()函数不知道给窗口的哪个信号链接,更摸不着头脑的是在thread_fun函数中如何获得窗口的句柄
有兴趣给指点一下