python - 为什么我的标签和条目在 python tkinter 中不可见?

标签 python user-interface tkinter

这是我的代码创建注册屏幕的一段,运行时不会产生错误,但是 GUI 上没有任何标签或条目可见,只有两个按钮在 tkinter 窗口上可见。我的另一个框架使用完全相同的方法来输入数据,并且工作正常。任何帮助将不胜感激,谢谢!

 class register(Frame):
        def __init__(self,master):
            super().__init__(master)

            self.labelEmail = Label(self, text="Enter email:")
            self.labelUsername = Label(self,text="Enter username:")
            self.labelPassword = Label(self, text ="Enter password:")
            self.labelPassword2 = Label(self, text ="Re-enter password:")

            self.entryEmail = Entry(self)
            self.entryUsername = Entry(self)
            self.entryPassword = Entry(self, show="*")
            self.entryPassword2 = Entry(self, show="*")

            self.labelEmail.grid(row=0, sticky=E)
            self.labelUsername.grid(row=1, sticky=E)
            self.labelPassword.grid(row=2, sticky=E)
            self.labelPassword2.grid(row=3, sticky=E)

            self.entryEmail.grid(row=0, column=1)
            self.entryUsername.grid(row=1, column=1)
            self.entryPassword.grid(row=2, column=1)
            self.entryPassword2.grid(row=3, column=1)

            self.confirmBtn = Button(text="Confirm", command=self.confirmBtnClicked)
            self.confirmBtn.grid(row=4, column=0)


            self.cancelBtn = Button(text="Cancel",command=self.cancelBtnClicked)
            self.cancelBtn.grid(row=4, column=1)

    .....

    root = Tk()
    ls = register(root)
    root.mainloop()

最佳答案

因为您的类继承自 Frame 并且您要将小部件分配给 self (框架),所以您还需要将框架分配给根窗口。

为此,您需要添加以下行:

self.grid(row=0, column=0)

或者:

self.pack(fill="both", expand=True)
# If you select this option you will need to use pack()
# for anything else you assign to the root window.

正如 Bryan 在评论中指出的,更好的解决方案是在创建类实例时调用 grid()pack():

ls = register(root)
ls.pack(fill="both", expand=True)

关于python - 为什么我的标签和条目在 python tkinter 中不可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49630752/

相关文章:

.net - WPF 中 UI 虚拟化的资源和指南

python - 带有网格布局的 Tkinter 提升和降低方法

python - 如何使用绑定(bind)事件立即在组合框中打印文本?

python - 如何解压python蛋?

python - 系列的 Groupby 和 max

python - 将字符串转换为元组

c# - 如何使用 WPF 中的 Frame 控件制作过渡效果?

java - Java GUI 在所有操作系统上的显示都一样吗?

python - 如何将 slider 合并到图中来操纵变量?

Python字符串连接速度