2013-02-23 5 views
6

から防ぐ2つのウィンドウが、私はこのように、いくつかの簡単なコードを持って言う:Toplevel(root)ウィンドウとウィンドウTk()トップレベル:オープニング

from Tkinter import * 
root = Tk() 
app = Toplevel(root) 
app.mainloop() 

これには2つのウィンドウが開きます。

Tk()ウィンドウ(root)のオープンを回避することはできますか?もしそうなら、どうですか?私は最上位が欲しいだけです。私は、複数のウィンドウを開くプログラムを作成していますので、これはすべてToplevelrootです。

ありがとうございます!

答えて

10

withdraw()メソッドは、ウィンドウを画面から削除します。
iconify()メソッドは、ウィンドウを最小化するか、アイコンに変換します。
deiconify()メソッドは、ウィンドウを再描画したり、アクティブ化したりします。

withdraw()を選択した場合は、テストする前にプログラムを終了する新しい方法を検討してください。

from Tkinter import * # tkinter in Python 3 

root = Tk() 
root.withdraw() 

top = Toplevel(root) 
top.protocol("WM_DELETE_WINDOW", root.destroy) 

but = Button(top, text='deiconify') 
but['command'] = root.deiconify 
but.pack() 

root.mainloop() 

protocol()方法は
トップレベルウィンドウの閉じるボタンが押されたときに呼び出される関数を登録するために使用することができます。この場合は、destroy()を使用して終了することができます。

関連する問題