我有以下最小程序來描述我的問題。在運(yùn)行代碼時,您將獲得一個開始屏幕,其中有一個歡迎標(biāo)簽(row=0)和一個登錄按鈕(row=1)。當(dāng)一個人登錄時,他/她將到達(dá)主屏幕,其中有一個注銷按鈕(行 = 0)和一個文本框(行 = 1)。我只希望主屏幕最大化(縮放)和文本框跨越整個垂直空間,所以我設(shè)置了grid_rowconfigure(1, weight=1).問題是,當(dāng)一個Logs out 時,grid_rowconfigure配置仍然存在并且開始屏幕被毀容。import tkinter as tkclass example(tk.Tk): def __init__(self): super().__init__() self.start() def start(self): tk.Label(text='Welcome').grid(row=0, column=0) tk.Button(text='Login', command=self.home).grid(row=1, column=0) def home(self): self.clear_widgets() self.attributes('-zoomed', True) #Full Screen self.grid_rowconfigure(1, weight=1) tk.Button(text='Logout', command=self.logout).grid(row=0, column=0) tk.Text().grid(row=1, column=0, sticky="ns") def logout(self): self.attributes('-zoomed', False) #Back to original self.clear_widgets() self.start() def clear_widgets(self): for widget in self.winfo_children(): widget.destroy()example().mainloop()我相信我要問的是清楚的,即我想要我原來的開始屏幕回來。那么,有沒有辦法重置任何此類配置,或者我應(yīng)該如何執(zhí)行此操作?PS 將登錄按鈕的行更改為 2,將解決我的問題,但我相信這將是一個黑客。
添加回答
舉報
0/150
提交
取消