gpt4 book ai didi

python - Tkinter Entry 小部件 float

转载 作者:行者123 更新时间:2023-11-30 23:08:53 24 4
gpt4 key购买 nike

我正在制作 BMI 计算器,只是为了了解 tkinter。我被困在这一部分上 - 我该如何制作才能从条目小部件中获取 float ?

这是我的代码片段

获取条目输入(这是在名为calculateBMI的函数中)

hgtval = float(height.get())
wgtval = float(weight.get())

这里创建变量并制作输入框。

hgt = StringVar()
wgt = StringVar()

height = Entry(root, stringvariable=hgt).grid(row=1, column=2)
weight = Entry(root, stringvariable=wgt).grid(row=2, column=2)

运行整个程序时出现以下错误:

C:\Python34\python.exe I:/programming/project/bmi.py
Traceback (most recent call last):
File "I:/programming/project/bmi.py", line 35, in <module>
height = Entry(root, stringvariable=hgt).grid(row=1, column=2)
File "C:\Python34\lib\tkinter\__init__.py", line 2478, in __init__
Widget.__init__(self, master, 'entry', cnf, kw)
File "C:\Python34\lib\tkinter\__init__.py", line 2086, in __init__
(widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: unknown option "-stringvariable"

最佳答案

该选项是textvariable,而不是stringvariable

与此问题无关,当您执行 height = Entry(...).grid(...) 时,height 将始终为 None 因为这是 .grid(...) 返回的内容。将小部件创建与小部件布局分开是最佳实践。

当您这样做时(将创建与布局分开),您实际上不需要使用 StringVar,因为您可以直接从小部件本身获取值(例如:hgtval = float (高度.get())

关于python - Tkinter Entry 小部件 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31496600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com