Python Tkinter注册界面标签与输入框不可见问题求助
解决Tkinter注册界面标签与输入框不显示的问题
这问题我之前也碰到过!核心原因很简单——Tkinter里的组件光创建出来还不行,必须调用布局管理器方法(pack()、grid()或者place())把它们“摆”到界面上,不然它们只会存在内存里,不会显示出来。
你贴的代码片段里只创建了labelEmail和labelUsername,但没看到给这些组件加布局代码;而按钮能正常显示,肯定是你给按钮加了pack()或grid()这类布局调用对吧?
给你个修正后的示例,用grid布局来规整界面:
class register(Frame): def __init__(self,master): super().__init__(master) # 创建标签与输入框 self.labelEmail = Label(self, text="Enter email:") self.entryEmail = Entry(self) self.labelUsername = Label(self,text="Enter username:") self.entryUsername = Entry(self) # 用grid布局摆放组件(带边距让界面更美观) self.labelEmail.grid(row=0, column=0, padx=5, pady=5, sticky="w") self.entryEmail.grid(row=0, column=1, padx=5, pady=5) self.labelUsername.grid(row=1, column=0, padx=5, pady=5, sticky="w") self.entryUsername.grid(row=1, column=1, padx=5, pady=5) # 假设你的提交按钮是这样的(已加布局) self.submitBtn = Button(self, text="Submit") self.submitBtn.grid(row=2, column=0, columnspan=2, pady=10)
只要给每个Label和Entry都加上对应的布局调用,它们就能正常显示了。另外提醒下,同一个Frame里最好只用一种布局管理器,别混着用pack和grid,不然容易出现布局混乱的问题。
内容的提问来源于stack exchange,提问作者Ben Nettleship
相关产品推荐
相关产品推荐

