Tkinter 组合框 Python

Tkinter Combobox Python

我已使用此 Tkinter 组合框从用户那里获取值。它做同样的事情,在获得用户输入后,所选值不会分配给该变量。不同之处在于,它是一个空字符串。如何将所选值作为 FLOAT 分配给变量?

我的代码:

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。

注意:我试过 this:f1=float(f11),但它抛出错误 ValueError:无法将字符串转换为浮点数:''

在此先感谢您的及时帮助..

Combobox()textvariable 选项使用 DoubleVar():

from tkinter import *
from tkinter.ttk import *
window = Tk()
window.geometry('350x200')
f11 = DoubleVar()
combo = Combobox(window, textvariable=f11)
combo['values']= (1, 2, 3, 4, 5, 6)
combo.grid(column=0, row=0)
combo.current(1)
val = f11.get()
print(val, type(val))
window.mainloop()

控制台输出:

2.0 <class 'float'>

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

from tkinter import *
from tkinter.ttk import *
window = Tk()
window.geometry('350x200')
f11 = DoubleVar()
combo = Combobox(window, textvariable=f11, state="readonly")
combo['values']= (1, 2, 3, 4, 5, 6)
combo.grid(column=0, row=0)
def on_change(event):
    val = f11.get()
    print(val, type(val))
combo.bind("<<ComboboxSelected>>", on_change)
combo.current(0)
window.mainloop()

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