【发布时间】:2018-10-17 18:20:18
【问题描述】:
我有以下使用 Tkinter 的脚本:
import tkinter as tk
class Application(tk.Frame):
def __init__(self, master):
frame = tk.Frame(master)
frame.pack
self.PRINT = tk.Button(frame, text = 'Print', fg = 'Red', command = self.Print())
self.PRINT.pack(side = 'left')
self.QUIT = tk.Button(frame, text = 'Quit', fg = 'Red', command = self.quit())
self.QUIT.pack(side = 'left')
def Print(self):
print('at least somethings working')
root = tk.Tk()
b = Application(root)
root.mainloop()
当我运行它时,我收到以下错误:
AttributeError: 'Application' 对象没有属性 'tk'
为什么会出现这个错误?
【问题讨论】:
-
与您的问题无关。你知道
frame.pack不是一个函数调用并且不打包任何东西,不是吗? -
你没有打电话给
Frame.__init__(self, master)。另一个问题是您的按钮命令是错误的。将command = self.Print()更改为command = self.Print,否则立即调用函数并将命令设置为函数的返回值。
标签: python python-3.x tkinter attributeerror