【发布时间】:2018-03-18 11:24:05
【问题描述】:
我的程序目前用作健身房追踪器,因此有一个显示用户日常活动的框架。然而,此刻我只有一个例程,因此为了能够创建多个例程,我需要一个按钮来为新例程创建一个框架。为此,我在第一帧上有一个按钮,该按钮链接到应该创建新帧的命令,但是它返回错误。这是代码:
def AddRoutine(self, window):
self.window = window
window.state("zoomed")
self.window.title('Routine')
window.update_idletasks()
h = self.window.winfo_height()
w = self.window.winfo_width()
Center_h = h/2
Center_w = w/2
self.newFr = Frame(window, bg = "PaleTurquoise1")
self.RFrame.append(self.newFr)
self.newFr.place(x = Center_w , y = Center_h, anchor = "center", width = 1024, height = 800)
我目前有一个列表RFrame,每次创建新帧时都会添加它,这样程序就知道它们有多少帧。
当我运行代码时,错误是TypeError: AddRoutine() missing 1 required positional argument: 'window' 但是我不知道这个错误是怎么来的。
【问题讨论】:
-
也许你在调用函数时遗漏了参数
-
肯定
self.window = window是参数? -
调用函数时
-
self.btn_Add = Button(self.FrameRoutine, text = "Add Routine", bg = "PaleTurquoise1", font =("Arial", "16"), command = self.AddRoutine, width = 20) self.btn_Add.grid(row = 2, column = 0, columnspan = 3) -
但是,如果我包含窗口,那么它会在不按下按钮的情况下调用该函数。
标签: python tkinter window frame