python - 我在向我的 tkinter 框架添加文本框时遇到问题,我可以显示标签,但我无法显示文本框
问题描述
在我的注册页面类下,我添加了所有必要的标签,但文本框没有显示,我将其命名为 nameText。
其他一切正常,该程序的目的是将姓名、姓氏、年龄、单元格编号和学位名称添加到数据库中。我决定先完成 GUI,然后从那里开始在后端工作。
from tkinter import *
import tkinter as tk
class Students (tk.Tk):
def __init__ (self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
container = tk.Frame (self)
container.pack(side = "top", fill = "both", expand = True)
container.grid_rowconfigure(0, weight = 1)
container.grid_columnconfigure(0, weight = 1)
self.frames = {}
for F in (displayMainMenu, RegisterPAGE, viewPage):
frame = F (container, self)
self.frames[F] = frame
frame.grid(row = 0, column = 0, sticky = "nsew")
self.show_frame(displayMainMenu)
def show_frame (self, cont):
frame = self.frames[cont]
frame.tkraise()
class displayMainMenu (tk.Frame):
def __init__ (self, parent, controller):
tk.Frame.__init__ (self, parent)
label = tk.Label(self, text = "MENU")
label.pack(pady = 10, padx = 10)
registerButton = tk.Button(self, text = "Register Student", command=lambda: controller.show_frame(RegisterPAGE))
registerButton.pack()
viewButton = tk.Button(self, text = "View Registered Student", command=lambda: controller.show_frame(viewPage))
viewButton.pack()
exitButton = tk.Button(self, text = "EXIT", command=lambda: controller.show_frame(RegisterPage))
exitButton.pack()
class RegisterPAGE (tk.Frame):
def __init__(self, parent, controller):
tk.Frame. __init__(self, parent)
label = tk.Label(self, text = "Student name")
label.pack(pady = 10, padx = 10)
nameText = tk.Entry(self, bd=5)
label.pack(pady = 10, padx = 10)
label = tk.Label(self, text = "Student surname")
label.pack(pady = 10, padx = 10)
label = tk.Label(self, text = "Student age")
label.pack(pady = 10, padx = 10)
label = tk.Label(self, text = "Student cell phone number")
label.pack(pady = 10, padx = 10)
label = tk.Label(self, text = "Which degree do you want to study:")
label.pack(pady = 10, padx = 10)
backButton = tk.Button(self, text = "Back", command=lambda: controller.show_frame(displayMainMenu))
backButton.pack()
class viewPage (tk.Frame):
def __init__(self, parent, controller):
tk.Frame. __init__(self, parent)
label = tk.Label(self, text = "View Registered Students")
label.pack(pady = 10, padx = 10)
backButton = tk.Button(self, text = "Back", command=lambda: controller.show_frame(displayMainMenu))
backButton.pack()
app = Students ()
app.mainloop()
解决方案
好像你没有打包条目。
nameText.pack(pady = x, padx = y)
推荐阅读
- python - Tkinter GUI 窗口在后台停止工作
- sql-server - 使用子查询而不是连接从不同的表中选择
- dart - Dart中整数变量的大小是多少
- javascript - 当 chrome 选项卡处于非活动状态运行画布时,内存堆增加
- python - python占用的内存在通过服务运行时不断积累而不释放到操作系统(龙卷风)
- ruby - 参数数量错误(给定 0,预期为 1)(ArgumentError) - Ruby MongoDb
- javascript - 如何从Vue中的每个对象数组中获取总数
- javascript - 方法在 iis 和 iis express 中执行不同
- python - 如何使用 Python 在随机森林中投票?
- matlab - 从用 Visual Studio 2015 编写的 Fortran 程序调用 Matlab 引擎时出错