Tkinter组合框Python

Tkinter组合框Python,python,user-interface,variables,tkinter,combobox,Python,User Interface,Variables,Tkinter,Combobox,我使用这个Tkinter组合框从用户那里获取一个值。它也会执行相同的操作,在获得用户输入后,所选值不会分配给该变量。扭曲的是,它是一个空字符串。如何将所选值作为浮点值分配给变量 我的代码: from tkinter import * from tkinter.ttk import * window = Tk() window.geometry('350x200') combo = Combobox(window) combo['values']= (1, 2, 3, 4, 5, 6) f11=c

我使用这个Tkinter组合框从用户那里获取一个值。它也会执行相同的操作,在获得用户输入后,所选值不会分配给该变量。扭曲的是,它是一个空字符串。如何将所选值作为浮点值分配给变量

我的代码:

from tkinter import *
from tkinter.ttk import *
window = Tk()
window.geometry('350x200')
combo = Combobox(window)
combo['values']= (1, 2, 3, 4, 5, 6)
f11=combo.current(1) 
combo.grid(column=0, row=0)
window.mainloop()
我需要获得要分配给f11的用户输入值,并将其与50相加

注意:我尝试过:f1=float(f11),但它会抛出一个错误 ValueError:无法将字符串转换为浮点:“”

提前感谢您的及时帮助。

对于
Combobox()
textvariable
选项,请使用
DoubleVar()

从tkinter导入*
从tkinter.ttk导入*
window=Tk()
窗口几何(“350x200”)
f11=DoubleVar()
combo=Combobox(窗口,textvariable=f11)
组合['values']=(1,2,3,4,5,6)
网格(列=0,行=0)
组合当前(1)
val=f11.get()
打印(val,类型(val))
window.mainloop()
以及控制台中的输出:

2.0 <class 'float'>
2.0

显示回调内变量值的另一个示例:

从tkinter导入*
从tkinter.ttk导入*
window=Tk()
窗口几何(“350x200”)
f11=DoubleVar()
combo=Combobox(窗口,textvariable=f11,state=“readonly”)
组合['values']=(1,2,3,4,5,6)
网格(列=0,行=0)
def on_更改(事件):
val=f11.get()
打印(val,类型(val))
combo.bind(“,在更改时)
组合。当前(0)
window.mainloop()

每当更改选择时,所选值将显示在控制台中。

请尝试打印
f11
。它有用吗?它看起来像是一个空字符串(
“”
)。你为什么需要它呢?你打算用它做什么?顺便说一句,你需要在函数或其他东西中调用它,否则它只能工作一次it@TheLizzard是,从下拉菜单中选择一个值后,该值不会分配给该变量f11。@Matiiss如何将所选值作为浮点类型分配给变量?使用
FLOAT(变量)
但您必须确保
变量
可以转换为浮点值谢谢您的回答,它是有效的。。但即使我选择了5,该值始终保持为2。任何建议???@SANNASICHAKRAVARTHY示例都是为了在选择更改时显示回调中的值而添加的。太好了。。很有效,非常感谢。。但我的目标是将选定值与固定值50相加。但是,我不能用这个“val”加上50。有什么解决办法吗?
val=f11.get()+50
不适合您的情况?是的,它适合。。但它不会存储在工作区中。。“val”不存储在工作区中。这就是问题所在,先生。。