1文档中那些GtkWidget的Style Properties怎么设置?
好像只能设置Properties, 我找不到设置Style Properties的方法
2关于statusicon的弹出菜单
我是用这样的语句弹出的
gtk_menu_popup(menu, NULL, NULL,
gtk_status_icon_position_menu, status_icon, -1, gtk_get_current_event_time());
在windows下有些奇怪(看附件)
第一是弹出的位置好像有点奇怪, 一般菜单的一个角在鼠标指针上, 是靠鼠标坐标来定位置的, 而我这个好像是按照屏幕边缘来定位置
第二是弹出后会出现上下滚动的箭头, 把鼠标放上去后才能显示出所有的item
这个使用同样的gtk runtime, pidgin的就没有这两个问题
而且同样的代码, 在linux中显示也正常
3关于glade_xml_signal_autoconnect
看说明如果回调函数放在主程序中, 就需要让主程序能导出符号, 像动态链接库一样, gcc可以用-export-dynamic, 我还没有试过在linux下怎么样, 在windows下mingw gcc4.3试过, 好像没用, vc的编译器好像没有这个功能. 不知道谁用过这个.
问几个GTK编程的问题
-
- 帖子: 79
- 注册时间: 2006-11-15 10:04
问几个GTK编程的问题
- 附件
-
- 刚刚点出来的样子
- Snap1.png (863 Bytes) 查看 2141 次
-
- 位置, 以屏幕边缘来定的
- Snap2.png (3.59 KiB) 查看 2142 次
-
- pidgin的, 刚刚点出来不会出现滚动箭头, 也不会以屏幕边缘来定位置
- Snap3.png (2.8 KiB) 查看 2141 次
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 79
- 注册时间: 2006-11-15 10:04
-
- 帖子: 79
- 注册时间: 2006-11-15 10:04
-
- 帖子: 79
- 注册时间: 2006-11-15 10:04
-
- 帖子: 79
- 注册时间: 2006-11-15 10:04
-
- 帖子: 86
- 注册时间: 2005-10-20 9:19
关于glade_xml_signal_autoconnect,我没用glade,不过GtkBuilder也有类似的函数。
在windows里,默认不会导出函数,所以要添加 __declspec(dllexport),在exe项目中也一样添加这个符号.
如果用c++,则要加 extend "C"。
举个例子,在puss项目里:
1. 在头文件里定义了(SIGNAL_CALLBACK):
使用时:
[/code]
在windows里,默认不会导出函数,所以要添加 __declspec(dllexport),在exe项目中也一样添加这个符号.
如果用c++,则要加 extend "C"。
举个例子,在puss项目里:
1. 在头文件里定义了(SIGNAL_CALLBACK):
代码: 全选
#ifdef __cplusplus
# define __EXTERN_C extern "C"
#else
# define __EXTERN_C
#endif
#ifdef G_OS_WIN32
# define PUSS_EXPORT __EXTERN_C __declspec(dllexport)
#else
# define PUSS_EXPORT __EXTERN_C
#endif
#define SIGNAL_CALLBACK PUSS_EXPORT
代码: 全选
// 定义signal回调函数
//
SIGNAL_CALLBACK void file_menu_new( GtkAction* action ) {
puss_doc_new();
}
// 加载xml文件时:
GtkBuilder* builder = xxx;
gtk_builder_connect_signals(builder, tag);