如何修复带有tkin的Python中的“ValueError:could not convert string to float:”

2024-05-17 08:45:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我将tkinter接口与Python3.7.2结合使用,它给出了:

ValueError: could not convert string to float:

我需要从Edit's获取内容,并通过在Label上显示它们来将它们相乘。你知道吗

我试过用int,但我用的是数字“2.5”

def count():
    x = float(EditBox1_text.get())
    y = float(EditBox2_text.get())
    return x * y

EditBox1_text = StringVar(0)
EditBox2_text = StringVar(0)

EditBox1 = Entry(MainActivity, textvariable=EditBox1_text).grid(row=0, column=0, sticky=W)
EditBox2 = Entry(MainActivity, textvariable=EditBox2_text).grid(row=1, column=0, sticky=W)

Tags: textgettkintercolumnfloatgridrowentry
2条回答

StringVar的Tkinter构造函数不接受值参数,除非是作为关键字参数指出的,如@BryanOakley所指出的,因此,不能用未声明关键字参数的值初始化StringVar。为此,必须使用.set来设置变量值,如下所示:

EditBox1_text = StringVar()
EditBox2_text = StringVar()

EditBox1_text.set("2.5")
EditBox2_text.set("3.8")

我试过了,而且成功了:

def count():
    x = float(EditBox1_text.get())
    y = float(EditBox2_text.get())
    AnswerText_text.set(x * y)

之前,我打过电话

AnswerText_text.set(count())

代码运行时

相关问题 更多 >