Отсутствует 1 обязательный позиционный аргумент библиотеки Tkinter - PullRequest
0 голосов
/ 07 декабря 2018

Что я пытаюсь сделать:

Графический интерфейс с tkinter для преобразования Цельсия в Фаренгейт.

Что происходит

Само окно работает, но когда я пытаюсь вызвать функцию calc с помощью кнопки, она возвращает ошибку:

Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python3.6/tkinter/__init__.py", line 1705, in __call__
    return self.func(*args)
TypeError: calc() missing 1 required positional argument: 'grausC'

Мой код:

from tkinter import *

janela = Tk()
janela.title("Conversao")
janela.geometry("600x600")

def calc(grausC):
    graus = float(grausC.get())
    Fahrenheit = (graus * 9/5 + 32)
    lb3=Label(janela, text=CalcF)
    lb3.place(x=200, y=200)


titulo=Label(janela, text="Conversao de Celsius para Fahrenheit", font=("Verdana 20 underline"))
titulo.place(x=20, y=20)

grausC = Entry(janela)
grausC.place(x=200,y=150)

lb1=Label(janela, text="Graus em Celsius:")
lb1.place(x=70, y=150)

lb2=Label(janela, text="Graus em Fahrenheit:")
lb2.place(x=70, y=200)

btn=Button(janela, text= "Calcular", command=calc) 
btn.place(x=100, y = 250)

janela.mainloop()

1 Ответ

0 голосов
/ 07 декабря 2018

Решил мою проблему.Функция была плохо определена.

def calc():
    graus = float(grausC.get())
    Fahrenheit = (graus * 9/5 + 32)
    FahrenheitS = str(Fahrenheit)
    lb3=Label(janela, text=FahrenheitS)
    lb3.place(x=200, y=200)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...