return self.tk.call(self._w, 'cget', '-' + key) TypeError: can only concatenate str (not "int") to str

时间:2021-04-02 01:27:43

标签: python-3.x tkinter

我正在制作一个程序,用 GUI 计算你在不同星球上的体重。这是代码。当我输入 int weight 和 Str 行星时,我在控制台中收到此错误: return self.tk.call (self._w, 'cget', '-' + key) 类型错误:只能将 str(不是“int”)连接到 str

from tkinter import *

def calcular():
    mars = (peso.get()*3.7)/9.8

  
    if "Marte" in planeta:
        res.set("Tu peso en el planeta " + str(planeta.get()) + " es: " + str(mars))
        


        

ventana = Tk()
#StringVar , IntVar, DoubleVar
peso = IntVar()
planeta = StringVar()
res = StringVar()
ventana.geometry("400x300")




#Etiqueta
textoN = Label(ventana,text="Escribe un numero: ")
textoN.place(x=150,y=10)

#Caja de texto
pesoentry = Entry(ventana,textvariable=peso)
pesoentry.place(x=150,y=40)

planeta = Entry(ventana,textvariable=planeta)
planeta.place(x=150,y=60)

#Etiqueta Resultado
textoR = Label(ventana,textvariable=res)
textoR.place(x=150,y=140)

#Boton
boton = Button(ventana,text="Calcular",command=calcular,bg="#006",fg="white")
boton.place(x=180,y=100)
ventana.mainloop()

1 个答案:

答案 0 :(得分:0)

这应该有效:

def calcular():
    mars = (peso.get()*3.7)/9.8

    if "Marte" in planeta.get():
        res.set("Tu peso en el planeta " + str(planeta.get()) + " es: " + str(mars))

我更改的行:

if "Marte" in planeta.get():