Tkinter 'Button' объект не вызывается - PullRequest
0 голосов
/ 20 декабря 2018

Я пытаюсь создать приложение, которое будет конвертировать Дюймы в CM и наоборот, однако, когда я нажимаю кнопку с привязанной к ней функцией, чтобы получить ввод пользователя из поля ввода, чтобы выполнить правильные вычисления дляэто, я получаю ошибку, которая говорит, что Button объект не может быть вызван.

Я уже рассмотрел много исправлений здесь, которые имеют такую ​​же ошибку, но вместо этого Button заменяется начто-то еще, однако решения этих вопросов были только потому, что они называли переменные так же, как и реальные объекты Tkinter.Мне не кажется, что я совершил ту же ошибку, но я мог бы просто сгореть и никогда ее не заметить.

from tkinter import *


# Create the window
root = Tk()

root.geometry("270x90")

# Text
cmText = Label(root, text = "CM:")
cmText.grid(row=1,column=1)
cmText.config(font=("Arial", 11))

inchText = Label(root, text = "  IN:")
inchText.grid(row=3,column=1)
inchText.config(font=("Arial", 11))

# Label
equal = Label(root,text="=")
equal.grid(row=2,column=2)

# Entry Boxes
entry1 = Entry(root)
entry1.grid(row=1,column=2)

entry2 = Entry(root)
entry2.grid(row=3, column=2)

# Functions
def quitFunc(event):
    root.destroy()

def inchConvert(event):
    inchVar = float(entry2.get())
    cm = inchVar * 2.54
    entry1.insert(0,cm)

# Buttons
inchConvert = Button(root,text="▲")
inchConvert.grid(row=3, column=3, padx=5, pady=2)
inchConvert.bind("<Button-1>",inchConvert)

cmConvert = Button(root,text="▼")
cmConvert.grid(row=1,column=3, padx=5,pady=2)

clear = Button(root,text=" C ")
clear.grid(row=2,column=5,ipadx=5)

quitButton = Button(root,text="Quit")
quitButton.grid(row=2,column=6, padx=10)
quitButton.bind("<Button-1>",quitFunc)

# Main Processing Loop
root.mainloop()

Я получаю ошибку:

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python35\lib\tkinter\__init__.py", line 1550, in __call__
    return self.func(*args)
TypeError: 'Button' object is not callable

Обычночто должно произойти, это то, что переменная cm будет вставлена ​​в верхнее поле ввода (entry1), когда я нажму кнопку со стрелкой вверх, но вместо этого при нажатии я получаю ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...