为了账号安全,请及时绑定邮箱和手机立即绑定

Tkinter - 如何在切换到不同页面时重置网格行配置

Tkinter - 如何在切换到不同页面时重置网格行配置

繁星点点滴滴 2021-09-02 15:00:51
我有以下最小程序来描述我的问题。在运行代码时,您将获得一个开始屏幕,其中有一个欢迎标签(row=0)和一个登录按钮(row=1)。当一个人登录时,他/她将到达主屏幕,其中有一个注销按钮(行 = 0)和一个文本框(行 = 1)。我只希望主屏幕最大化(缩放)和文本框跨越整个垂直空间,所以我设置了grid_rowconfigure(1, weight=1).问题是,当一个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()我相信我要问的是清楚的,即我想要我原来的开始屏幕回来。那么,有没有办法重置任何此类配置,或者我应该如何执行此操作?PS 将登录按钮的行更改为 2,将解决我的问题,但我相信这将是一个黑客。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 153 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信