要实现您想要实现的目标,我们可以使用
bind()
方法和
get()
方法
我注意到您在注释部分的代码中(看起来它现在已被删除)尝试执行以下操作
c = cbox.get()
但是,不会更新此值,因为它只在程序初始化时调用一次。相反,我们可以使用
cbox.get()
直接在我们的
if
语句,然后将该值赋给全局变量
c
。
我们需要一个函数,该函数可以在选择组合框中的项目时触发所选事件时调用。我们可以指定一个函数,以便在使用
绑定()
方法
我已经将您粘贴在注释中的代码重新格式化为功能性代码。
更新时间:
我添加了一个按钮来打印
c
以便您可以在每次从组合框中选择后检查该值。
请参见以下代码。
import tkinter as tk
from tkinter import ttk
tkwindow = tk.Tk()
c = ""
def check_cbox(event):
global c
if cbox.get() == '2.4':
c = cbox.get()
if cbox.get() == '5':
c = cbox.get()
def print_c_current_value():
print(c)
cbox = ttk.Combobox(tkwindow, values=['2.4', '5'], state='readonly')
cbox.grid(column=0, row=0)
cbox.bind("<<ComboboxSelected>>", check_cbox)
tk.Button(tkwindow, text="Print C", command=print_c_current_value).grid(column=0, row=1)
tkwindow.mainloop()