关于libglade的一个问题

发布于 2022-08-11 09:44:32 字数 194 浏览 10 评论 5

用libglade写界面,有两个window,想在开始的时候隐藏一个window,在某个事件发生后show这个window,但是调用gtk_widget_show的结果是这个window出现以后僵死。
如果在调用gtk_main之前show就没有问题,或者在调用gtk_main之前先show后hide事件发生后show也没问题(但是这个window开始会闪一下),求解决方案

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

×纯※雪 2022-08-17 15:37:53

试试gdk_threads_add_idle

思念绕指尖 2022-08-17 15:37:08

我错了 使用gdk_thread以后boost::asio的io_service线程里show一个widget还是会造成界面死锁

洛阳烟雨空心柳 2022-08-17 15:36:41

搞懂了 多线程需要加
gdk_threads_enter();
gdk_threads_leave();

不即不离 2022-08-17 11:16:49

貌似是因为我在boost::asio网络程序的handle_read回调事件里调用了gtk_widget_show方法

白馒头 2022-08-15 05:16:36

是否是其他代码造成的?
如果有多个线程只能有一个线程操作UI

你把代码帖出来吧

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文