首页 > 解决方案 > builtins.TypeError:“按钮”对象不可调用

问题描述

我正在为应用程序开发 GUI。

def answer():
    showerror("Answer", "Sorry, no answer available")

def callback():
    if askyesno('Verify', 'Really quit?'):
        showwarning('Yes', 'Not yet implemented')
    else:
        showinfo('No', 'Quit has been cancelled')

button(text='Quit', command=callback).pack(fill=X)
button(text='Answer', command=answer).pack(fill=X)

我在下面有这个错误。

builtins.TypeError: 'Button' object is not callable

谁能帮我指出这个错误的原因以及如何纠正它?

标签: pythontkinter

解决方案


我知道Button是一个内置的小部件,可从Tkinter. :) 但是,您必须输入完整的代码来解决确切的问题。以下是我的预期:

button如果您打算这样做,请检查变量初始化。您用它拨打的电话是实际问题。你可以这样修复:

    from tkinter import *
    win=tkinter.Toplevel()
    frame=tkinter.Frame(master=win).grid(row=1,column=1)
    #include your piece of method definitions here
    CBbutton = tkinter.Button(master=frame, text='Quit', command=callback)
    Ansbutton = tkinter.Button(master=frame, text='answer', command=answer)
    #Below code calls the 'button' object. So, you see, I havent passed any parameters within it, and so it is not callable that way.
    CBbutton.pack(fill='x')
    Ansbutton.pack(fill='x')

推荐阅读