当我在python 3.5中运行此代码时:
import tkinter
top = tkinter.Tk()
def callback():
print ("click!")
button = Button(top, text="OK", command=callback)
top.mainloop()
我收到错误:
NameError: name 'Button' is not defined
答案 0 :(得分:1)
除@freidrichen回复外,您可以使用(不推荐)
from tkinter import *
或
import tkinter as tk
然后
tk.Button(top, text="OK", command=callback)
答案 1 :(得分:0)
导入tkinter模块只允许您访问模块对象(tkinter
)。您可以通过以下方式访问其中的任何类tkinter.Button
而非Button
:
import tkinter
top = tkinter.Tk()
def callback():
print ("click!")
button = tkinter.Button(top, text="OK", command=callback)
top.mainloop()
或者您可以从模块中专门导入所需的类:
import tkinter
from tkinter import Button
top = tkinter.Tk()
def callback():
print ("click!")
button = Button(top, text="OK", command=callback)
top.mainloop()
答案 2 :(得分:0)
如上所述,“按钮”未定义
你应该尝试:
import tkinter
top = tkinter.Tk()
def callback():
print ("click!")
button = tkinter.Button(top, text="OK", command=callback)
top.mainloop()
答案 3 :(得分:0)
这是一个较晚的响应,但是在浏览网络时遇到类似问题时,我找到了此代码。希望对遇到此问题的任何人都能解决。
if __name__ == '__main__':
try:
from tkinter import *
except ImportError:
from Tkinter import *
代码取自: http://code.activestate.com/recipes/577409-python-tkinter-canvas-rectangle-selection-box/