プログラムに多数のルート (フレーム) があります。OS の終了ボタン (パネルの上部にある x) のコマンドを設定するにはどうすればよいですか? プログラム全体ではなく、1 つのペインだけを閉じることができるようにしたいと考えています。フレーム自体に独自の終了ボタンを作成するコードを見つけましたが、既に持っているすべてのボタンの位置をリセットする必要はありません。
編集:Ubuntuを使用していることを忘れていました
編集2:
root3 = Tk()
root = Tk()
root2 = Tk()
これは、3 フレームのオブジェクトを初期化する方法です (画像を投稿するのに十分な評判がありません)。私は Toplevel を見て、Bryan Oakleyが次のようなことをすべきだと言っていると思います:
frame1 = Toplevel()
frame2 = Toplevel()
frame3 = Toplevel()
ただし、そうすると 4 つ目の (空の) フレームが表示されますが、必要な 3 つのフレームはそのままで、必要なすべてのウィジェットが存在します。
Tk() と Toplevel() の使用の違いと、それぞれの使用方法を説明していただけますか?
Fredrik のソリューションを使用しようとしましたが、次のエラーが表示されました。
Traceback (most recent call last):
File "GUI_Robot_Control.py", line 823, in <module>
root.protocol("WM_DELETE_WINDOW", root.destroy())
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1630, in wm_protocol
'wm', 'protocol', self._w, name, command)
_tkinter.TclError: can't invoke "wm" command: application has been destroyed
前もって感謝します!