Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tkinter条目小部件浮点数_Python_Tkinter_Python 3.4 - Fatal编程技术网

Python Tkinter条目小部件浮点数

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

我正在做一个体重指数计算器,只是为了让我的头脑清醒一下。我被这一部分卡住了-我如何使它从入口小部件中获得一个浮点数

下面是我的一些代码片段

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

下面是创建变量和创建输入框

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"