首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用PyGI获取windows的列表?

如何使用PyGI获取windows的列表?
EN

Stack Overflow用户
提问于 2011-04-27 01:44:27
回答 2查看 3.2K关注 0票数 3

我刚刚开始使用PyGI (在Ubuntu Natty上),尽管我以前从未使用过pygtk。不过,我在wxPython程序中使用过wnck,它很容易获得当前打开的窗口列表。在PyGI中,窗口列表始终为空。相关码位:

代码语言:javascript
复制
from gi.repository import Gtk, Wnck

while Gtk.events_pending():
    Gtk.main_iteration()
#... in my app class...
    screen = Wnck.Screen.get_default()
    wins = screen.get_windows()

有了这些,wins == []。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-23 20:38:54

您需要在screen.get_windows()返回窗口列表之前调用screen.force_update()。不幸的是,文档缺少这一部分:(

代码语言:javascript
复制
In [1]: from gi.repository import Gtk, Wnck

In [2]: Gtk.main_iteration()
Out[2]: True

In [3]: screen = Wnck.Screen.get_default()

In [4]: screen.force_update()

In [5]: screen.get_windows()
Out[5]: 
[<Window object at 0x167bd20 (WnckWindow at 0x195d0e0)>,
 <Window object at 0x167bf00 (WnckWindow at 0x195d740)>,
 <Window object at 0x167bf50 (WnckWindow at 0x195d850)>]
票数 6
EN

Stack Overflow用户

发布于 2011-04-28 15:50:35

在您的示例中,必须使用:Gtk.main_iteration_do(False)而不是Gtk.main_iteration()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5794309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档