我想获得gdkwindow,我知道有方法列出在桌面上打开的所有gdk窗口,但是如何获取GtkWindow? 我知道GtkWindow有一个属性gdkwindow,但GdkWindow如何获取GtkWindow?
答案 0 :(得分:2)
如果没有更多上下文,我无法更好地回答您的问题,但请尝试使用gtk.window_list_toplevels()
。它将返回当前进程的所有顶级GTK窗口的列表。
以下是如何设计返回相应顶级方法的方法 来自GDK窗口XID的GTK窗口。
def find_gtk_window(xid):
for gtk_window in gtk.window_list_toplevels():
if gtk_window.window.xid == xid:
return gtk_window
但是,如果你想列出其他进程的所有GTK窗口,那么这不是(轻松)可能的。对How do I get a list of all windows on my gnome2 desktop using pygtk?的回答很好地描述了这种情况。