2013-06-28 110 views
1

只是爲了警告你們所有的人:我相對較新的python,並試圖寫我的第一個程序。Python,tkinter - 檢查一個窗口是否打開

我的問題:
我有一個主窗口(使用tkinter)和其他幾個窗口。讓我們稱它們爲subWindow 1,2和3
- >所有頂部都有一個菜單欄,並在其他窗口中有一個導航標籤。

如果主窗口和子窗口1和2的焦點在子窗口2上,並且我使用菜單欄導航回到子窗口1,它只是打開窗口的新實例。

問:
有沒有一種方法來檢查:
如果子窗口1已經打開:
- 移動子窗口1至前(焦點設置到它)
其他:
- 打開一個新的實例子窗口1

感謝提前


編輯!
感謝您的回答Christian Careaga,但focus_set()不適合我。
明白了一個簡單的嘗試工作/除外,但:

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

回答

2

這裏有一個方法來判斷一個窗口運行:

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

root.state()獲得窗口的狀態,所以如果窗口沙爹是正常的就意味着它的運行

所以在主窗口中,你可以用這個條件來檢查,如果一個子窗口是打開 ,如果它是你可以使用focus_set()帶來THA t window to focus