У меня есть следующая минимальная программа для описания моей проблемы.
При запуске кода вы получите стартовый экран с меткой Welcome (строка = 0) и логиномкнопка (строка = 1).Когда один входит в систему , он / она достигает главного экрана, на котором есть кнопка «Выход» (строка = 0) и текстовое поле (строка = 1).Я хочу, чтобы только домашний экран был развернут (увеличен) и текстовое поле охватывало все вертикальное пространство, поэтому я установил grid_rowconfigure(1, weight=1)
.
Проблема в том, что когда один Выйти из системы , конфигурация grid_rowconfigure
сохраняется и начальный экран отключен.
import tkinter as tk
class 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()
Я считаю, что то, что я спрашиваю, понятно, т.е. я хочу, чтобы мой исходный стартовый экран вернулся.Итак, есть ли способ сбросить любую такую конфигурацию или как мне это сделать?
PS Изменение строки кнопки входа в систему, чтобы сказать, 2, решило бы мою проблему, но я полагаю, что это будетхак.