按钮未定义,python 3

时间:2016-11-04 12:23:00

标签: python tkinter

当我在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

4 个答案:

答案 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/