因此,我尝试在 tkinter 中使用一些条目小部件,然后使用同时执行多个 .get() 命令的函数。但是,我收到一个错误,即该函数未定义,即使它们位于同一类中。这是代码示例:
def GetSubjects():
subject1 = subject1entry.get()
subject2 = subject2entry.get()
subject3= subject3entry.get()
subjectConfirm.grid(row=3, column=0, command=GetSubjects)
正如我所说,它们都在同一类中,但按钮无法调用该函数。我对 tkinter 和这个网站比较陌生,所以如果这是简单的事情请原谅我,但我在其他地方找不到解决方案。
编辑:这是整个课程,我知道我的代码可能非常次优,但这是我尝试过的第一个大型项目
class Menu:
def __init__(self, master):
frame = tk.LabelFrame(master, text="Main Menu", padx=100, pady=10)
frame.grid(row=0, column=0, padx=15, pady=15)
# Create timetable button
createTimetable = tk.Button(frame, text="Create Timetable", command=self.CreateTimetable)
createTimetable.grid(row=0, column=0)
# Exit program button
exitProgram = tk.Button(frame, text="Exit Program", command=self.CloseWindow)
exitProgram.grid(row=1, column=0)
def CloseWindow(self):
root.destroy()
def GetSubjects():
subject1 = subject1entry.get()
subject2 = subject2entry.get()
subject3 = subject3entry.get()
def CreateTimetable(self):
tableWindow = tk.Toplevel(root)
tableWindow.title('Timetable Maker Window')
tableWindow.geometry("800x500+400+200")
# Subject labels
subjectlabel1 = tk.Label(tableWindow, text="Enter your first subject:")
subjectlabel2 = tk.Label(tableWindow, text="Enter your second subject:")
subjectlabel3 = tk.Label(tableWindow, text="Enter your third subject:")
# Subject entry boxes
subject1entry = tk.Entry(tableWindow)
subject2entry = tk.Entry(tableWindow)
subject3entry = tk.Entry(tableWindow)
# Puts subject entry boxes on screen
subject1entry.grid(row=0, column=1)
subject2entry.grid(row=1, column=1)
subject3entry.grid(row=2, column=1)
# Puts subject labels on screen
精慕HU
相关分类