您可以使用此检查窗口是否可见 -
if mywindow.props.visible: pass # do stuff here
Run Code Online (Sandbox Code Playgroud)
a 上的visible属性GtkWidget只会告诉您小部件是否“应该”出现在 UI 中。它不会告诉你它是否真的已经存在。
这很重要,因为当您第一次创建小部件时,它实际上不会显示,直到 GTK 重新进入主循环。在显示之前,还没有发生大小协商之类的事情,也没有分配后端存储(GDK 资源等)。例如,在 Python 中:
Gtk.Window w
w.show_all() # sets "visible" property to True
alloc = w.get_allocation() # Error -- size hasn't been allocated yet!
gdk_window = w.get_window() # Error -- no GDK window yet!
Run Code Online (Sandbox Code Playgroud)
要确定小部件是否已经实际显示,您需要使用该realized属性。您可以连接到realize信号来执行只有在实际显示小部件后才能执行的操作,例如上面的示例。
| 归档时间: |
|
| 查看次数: |
2897 次 |
| 最近记录: |