0
これをできるだけ短くする - 私のプログラムではPage1で始まり、ボタンを押すとPage2を開き、Page1を閉じるとページ2を開くことができましたが、閉じることはできませんPage1、私は.destroy()
を使ってみましたが、ページだけでなくすべてを閉じます。私はここでいくつかの質問を見ていましたが、私のコードと同じレイアウトではそれほど多く見つけることができませんでした。これは私の最初のtkinter
プロジェクトです。私はまだそれを把握しています。tkinterでウィンドウを閉じるときに問題が発生する
私のコードは;
class Page1:
def __init__(self,master):
self.master = master
#lots of labels and buttons
self.BTNNextPage = ttk.Button(master, text = "Proceed",
command = self.NextPage)
self.BTNNextPage.place(x=450, y=420)
def NextPage(self):
self.newWindow = tk.Toplevel(self.master)
self.app = Page2(self.newWindow)
self.master.destroy()
class Page2():
def __init__(self,master):
self.master = master
#tried Page1.destroy() here but Page1 has no attibute destroy
#more labels and buttons
def main():
widthpixels=690
heightpixels=500
root = tk.Tk()
root.resizable(width=False, height=False)
root.configure(background='black')
root.iconbitmap("Image")
root.wm_title("Title")
root.geometry('{}x{}'.format(widthpixels, heightpixels))
app = Page1(root)
root.mainloop()
if __name__ == "__main__":
main()
感謝しかしPage1のdoesntの取得、削除、PAGE2がちょうど 'それ – badNameHere
上にオーバーレイされています。彼らは
destroy
メソッドを持つようにのみ1ページを破壊するために、一つの可能性は、ページクラスはtk.Frame
を継承することです'NextPage'のself.destroy()はpage1を破壊するので、page2はオーバーレイされません。 –これを実行すると、次のボタンを押すと、page1とpage2の内容が同じウィンドウに表示されます。 – badNameHere