4

只是警告你们所有好人:我对 python 比较陌生,并试图编写我的第一个程序。

我的问题:
我有一个主窗口(使用 tkinter)和其他几个窗口。让我们称它们为 subWindow 1、2 和 3
-> 顶部都有一个菜单栏,还有一个导航选项卡到其他窗口。

如果主窗口和子窗口 1 和 2,焦点在子窗口 2 上,我使用菜单栏导航回子窗口 1,它只会打开一个新的窗口实例。

问题:
有没有办法检查:
如果子窗口 1 已经打开:
- 将子窗口 1 移到前面(设置焦点)
否则:
- 打开子窗口 1 的新实例

提前致谢


编辑!
感谢 Christian Careaga 的回答,但 focus_set() 对我不起作用。
让它通过一个简单的尝试/除了:

try:  
    root.deiconify()  
except:  
    openWindow()
4

1 回答 1

6

这是一种判断窗口是否正在运行的方法:

if 'normal' == root.state():
    print 'running'

root.state()获取窗口的状态,因此如果窗口状态正常,则表示它正在运行

所以在主窗口中,您可以使用此条件检查子窗口是否打开,如果是,您可以使用focus_set()该窗口来聚焦

于 2013-06-28T19:23:19.783 回答