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()
每当更改选择时,所选值将显示在控制台中。
我已使用此 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()
每当更改选择时,所选值将显示在控制台中。