Gtk 无法访问窗口中的任何小部件

Gtk 无法访问窗口中的任何小部件,gtk,Gtk,我有一个GtkWindow和一个GtkVBox和GTKntry。 有时我无法访问按钮、列表和条目。 但我能够将小部件添加到GtkVBox中,并且它也可以用新的小部件进行更新 看起来它失去了焦点。我尝试设置焦点,但没有帮助 可能有什么问题 您在评论中提到有一个弹出窗口。如果是这种弹出模式,您是嵌套调用gtk_main(),还是调用 听起来有点像GTK+正在考虑将显示的UI“锁定”,当模式对话框打开时也会这样做 在没有计时器和弹出窗口的情况下尝试一下,看看它是否改变。你说的“访问”是什么意思?小部件

我有一个GtkWindow和一个GtkVBox和GTKntry。
有时我无法访问按钮、列表和条目。
但我能够将小部件添加到GtkVBox中,并且它也可以用新的小部件进行更新

看起来它失去了焦点。我尝试设置焦点,但没有帮助


可能有什么问题

您在评论中提到有一个弹出窗口。如果是这种弹出模式,您是嵌套调用
gtk_main()
,还是调用

听起来有点像GTK+正在考虑将显示的UI“锁定”,当模式对话框打开时也会这样做


在没有计时器和弹出窗口的情况下尝试一下,看看它是否改变。

你说的“访问”是什么意思?小部件是否不响应鼠标/键盘输入?是,小部件不响应鼠标和按键事件。我可以看到光标在文本字段中闪烁,但无法输入。您是否正常运行GTK+循环?任何可能占用所有执行时间的空闲或计时器处理程序?您的进程是否显示在高CPU负载下运行的迹象?我在一个地方使用glib计时器,但它不是一直处于活动状态。我用它来破坏一个基于时间的弹出窗口。我显示一个弹出窗口5秒钟,然后销毁弹出窗口和计时器,这个弹出窗口显示在这个顶级窗口上。是此计时器和弹出窗口导致了此问题。弹出窗口是型号类型,我没有使用任何对
gtk_main
的嵌套调用。当计时器过期时,我正在销毁弹出窗口。如果gtk锁定任何窗口,那么我们应该如何解锁它?