求高手指点 使用anjuta2.2.X 和glade3的配合问题(已搞定)结帖

C、C++和Java语言
回复
firesnake
帖子: 18
注册时间: 2007-09-06 9:59
送出感谢: 0
接收感谢: 0

求高手指点 使用anjuta2.2.X 和glade3的配合问题(已搞定)结帖

#1

帖子 firesnake » 2007-11-15 15:17

请教~~~大虾们~

glade3作的图状界面,修改保存后,为什么在anjuta里的main.cc文件里没有增加这么些控件的定义和属性代码?

于是使用的信号处理函数也不调用。。。。因为要用C++语言,glade3是界面和代码分开的。虽然保存了变化后在anjuta里可以显示,但却没把控件的那些定义名称在CC文件里。无法调用那些界面上画的控件阿。。

不是用glade2的联编。

手工来写界面控件和信号处理都可以,可大的图形界面手工来写太麻烦了。但现在利用工具不会用阿5555 。

清问怎么配合使用的步骤,高手可以发图片或给讲解一下么。谢谢
上次由 firesnake 在 2007-11-16 13:55,总共编辑 1 次。
头像
madoldman
帖子: 599
注册时间: 2006-02-27 20:19
来自: works system
送出感谢: 0
接收感谢: 0
联系:

#2

帖子 madoldman » 2007-11-15 17:43

关注,同被困扰中,glade3不会用
东西路,南北走
十字路口人咬狗
拿起狗来打砖头
砖头咬了狗一口
图片
firesnake
帖子: 18
注册时间: 2007-09-06 9:59
送出感谢: 0
接收感谢: 0

#3

帖子 firesnake » 2007-11-16 11:19

自己来顶
导入控件啥啥的要用libglade
可还是有问题,按了查到的很多介绍,一个简单的窗口,上面就一个安扭
运行后,执行的回调函数不动作阿。为什么呢?提示的警告
libglade-Warning **: could not find signal handler"on_button1_clicked"

看了有的说自定义控件要加参数 --rdynamic
加了也不行阿,更何况我这是标准控件。

代码贴了:
#include ...(一堆的 省略了)
#define GLADE_FILE 111.glade
int
main (int argc, char *argv[])
{
Gladexml *xml;
GtkWidget *window,*cb_1;
gtk_init(&argc,&argv);
xml = glade_xml_new(GLADE_FILE, NULL, NULL);
cb_1= glade_xml_get_widget(xml, "button1");
window = glade_xml_get_widget(xml, "main_window");
glade_xml_signal_autoconnect(xml);
gtk_main();
return 0;
}

void on_button1_clicked( )
{ cout << "The Button was clicked." <<endl;
exit(-1);
}
在111.glade文件里,也查看了,在这里的语句是
.....
<signal name='clicked' handler ="on_button1_clicked"/>
.....


有没哪个大虾给指点阿。。。晕了已经
firesnake
帖子: 18
注册时间: 2007-09-06 9:59
送出感谢: 0
接收感谢: 0

#4

帖子 firesnake » 2007-11-16 13:59

用GLADE3生成的GLADE文件
在 ANJUTA2。X中用LIBGLADE导入
可以用两个写法调用关联控件和信号处理
连接函数
1)pbutton->signal,_clicked().connect(sigc::ptr_fun(on_button_clicked));
2)g_signal_connect(G_OBJECT(button),"clicked",G_CALLBACK(on_button_clicked),NULL);

还在学习中,希望有朋友多交流,水平太瓦,呵呵~~
头像
madoldman
帖子: 599
注册时间: 2006-02-27 20:19
来自: works system
送出感谢: 0
接收感谢: 0
联系:

#5

帖子 madoldman » 2007-11-20 10:03

晕,不是吧?还要自己connect……
东西路,南北走
十字路口人咬狗
拿起狗来打砖头
砖头咬了狗一口
图片
newlad
帖子: 258
注册时间: 2005-09-28 12:01
送出感谢: 0
接收感谢: 0

#6

帖子 newlad » 2007-11-22 9:53

链接的时候加上 -lgmodule-2.0 就可以了
头像
madoldman
帖子: 599
注册时间: 2006-02-27 20:19
来自: works system
送出感谢: 0
接收感谢: 0
联系:

#7

帖子 madoldman » 2007-11-22 11:38

pkg-config --cflags --libs libglade-2.0不就包含-lgmodule-2.0了吗?
东西路,南北走
十字路口人咬狗
拿起狗来打砖头
砖头咬了狗一口
图片
回复

回到 “C/C++/Java”