免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2903 | 回复: 5
打印 上一主题 下一主题

关于libglade的一个问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-18 22:32 |只看该作者 |倒序浏览
用libglade写界面,有两个window,想在开始的时候隐藏一个window,在某个事件发生后show这个window,但是调用gtk_widget_show的结果是这个window出现以后僵死。
如果在调用gtk_main之前show就没有问题,或者在调用gtk_main之前先show后hide事件发生后show也没问题(但是这个window开始会闪一下),求解决方案

论坛徽章:
0
2 [报告]
发表于 2008-09-19 08:43 |只看该作者
是否是其他代码造成的?
如果有多个线程只能有一个线程操作UI

你把代码帖出来吧

论坛徽章:
0
3 [报告]
发表于 2008-09-19 09:11 |只看该作者
貌似是因为我在boost::asio网络程序的handle_read回调事件里调用了gtk_widget_show方法

论坛徽章:
0
4 [报告]
发表于 2008-09-19 09:17 |只看该作者
搞懂了 多线程需要加
gdk_threads_enter();
gdk_threads_leave();

论坛徽章:
0
5 [报告]
发表于 2008-09-19 12:17 |只看该作者
我错了 使用gdk_thread以后boost::asio的io_service线程里show一个widget还是会造成界面死锁

论坛徽章:
0
6 [报告]
发表于 2008-09-20 08:19 |只看该作者
试试gdk_threads_add_idle
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP