Python Tkinter条目小部件浮点数
我正在做一个体重指数计算器,只是为了让我的头脑清醒一下。我被这一部分卡住了-我如何使它从入口小部件中获得一个浮点数 下面是我的一些代码片段 获取条目输入(在名为calculateBMI的函数中) 下面是创建变量和创建输入框Python Tkinter条目小部件浮点数,python,tkinter,python-3.4,Python,Tkinter,Python 3.4,我正在做一个体重指数计算器,只是为了让我的头脑清醒一下。我被这一部分卡住了-我如何使它从入口小部件中获得一个浮点数 下面是我的一些代码片段 获取条目输入(在名为calculateBMI的函数中) 下面是创建变量和创建输入框 hgt = StringVar() wgt = StringVar() height = Entry(root, stringvariable=hgt).grid(row=1, column=2) weight = Entry(root, stringvariable=wg
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"
C:\Python34\python.exe I:/programming/project/bmi.py
回溯(最近一次呼叫最后一次):
文件“I:/programming/project/bmi.py”,第35行,在
高度=条目(根,stringvariable=hgt).grid(行=1,列=2)
文件“C:\Python34\lib\tkinter\\uuuuu init\uuuuu.py”,第2478行,在\uuuu init中__
小部件。_u初始化(自我,主,“输入”,cnf,kw)
文件“C:\Python34\lib\tkinter\\uuuuu init\uuuuuu.py”,第2086行,在\uuuu init中__
(widgetName,self._w)+额外+自选项(cnf))
_tkinter.TclError:未知选项“-stringvariable”
该选项是textvariable
,而不是stringvariable
与此问题无关,当您执行height=Entry(…).grid(…)
时,height
将始终是None
,因为这是.grid(…)
返回的结果。将小部件创建与小部件布局分离是最佳实践
当您这样做(将创建与布局分离)时,实际上不需要使用
StringVar
s,因为您可以直接从小部件本身获取值(例如:hgtval=float(height.get())
它应该是textvariable
而不是stringvariable
。请参阅。
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"