Tkinter将Command命令分配给按钮

时间:2017-11-27 05:03:16

标签: python-2.7 tkinter

我是tkinter GUI的新手。我在下面尝试将命令分配给名为print的按钮。任何想法,我出错了,我得到错误:

  

_tkinter.TclError:错误选项" -command":必须是-after,-anchor,-before,-expand,-fill,-in,-ipadx,-ipady,-padx,-pady ,或者是

来自tkinter import *

class App:
    def __init__(self, master):
        fm = Frame(master)
        Button(fm, text='Print').pack(side=TOP, anchor=W, fill=X, expand=YES, command = self.hello_world)
        Button(fm, text='Center').pack(side=TOP, anchor=W, fill=X, expand=YES)
        Button(fm, text='Bottom').pack(side=TOP, anchor=W, fill=X, expand=YES)
        Button(fm, text='Left').pack(side=LEFT)
        #Button(fm, text='This is the Center button').pack(side=LEFT)
        Button(fm, text='Right').pack(side=RIGHT)
        fm.pack(fill=BOTH, expand=YES)

    def hello_world(self):
        print ("Hello World")

root = Tk()
root.resizable(width=False, height=False)
root.option_add('*font', ('verdana', 12, 'bold'))
root.title("Pack - Example 12")
display = App(root)
root.mainloop()

1 个答案:

答案 0 :(得分:1)

错误告诉您代码有什么问题。 command不是pack(或任何其他几何管理器)的有效选项。 command是widget的一个选项,这意味着你需要在创建所述widget的实例时使用它。

Button(fm, ..., command=...)

我认为应该有一个答案,而不是在评论中回答,这就是我添加一个答案的原因。