Python 将组合框中选定的选项设置为变量,该变量会随着组合框中选定的选项的变化而变化

Python 将组合框中选定的选项设置为变量,该变量会随着组合框中选定的选项的变化而变化,python,tkinter,combobox,Python,Tkinter,Combobox,我正在尝试将组合框下拉列表中选择的选项设置为变量,但是,我用来表示变量的标签当前正在读取中。!组合框。例如,如果我从下拉列表中选择“Customer 2”,则标签将更改为Customer 2。我可能需要使用一个按钮来做这件事,但我不确定如何使这项工作 import tkinter as tk from tkinter import ttk root = tk.Tk() ICus = tk.StringVar(root) ICus.set("Select Customer") ICustom

我正在尝试将组合框下拉列表中选择的选项设置为变量,但是,我用来表示变量的标签当前正在读取中。!组合框。例如,如果我从下拉列表中选择“Customer 2”,则标签将更改为Customer 2。我可能需要使用一个按钮来做这件事,但我不确定如何使这项工作

import tkinter as tk
from tkinter import ttk
root = tk.Tk()

ICus = tk.StringVar(root)

ICus.set("Select Customer")

ICustomer = ttk.Combobox( textvariable = ICus, state = 'readonly')
ICustomer['values'] = ("Customer1", "Customer2", "Customer3")
ICustomer.grid(row = 2, column = 2)


label_ICustVar = tk.Label( text= ICustomer)
label_ICustVar.grid(row = 3, column = 3)
简单地说,我希望在下拉列表中选择的选项被设置为一个变量,我可以在以后的代码中使用它。我对编码非常陌生,所以可能会遗漏一些非常明显的东西,如果有任何帮助,我将不胜感激:)

您可以将事件与
get()
方法一起使用

def update_label(event):
    label_ICustVar.configure(text=ICustomer.get())


ICustomer.bind("<<ComboboxSelected>>", update_label)
def更新标签(事件):
label_ICustVar.configure(text=ICustomer.get())
ICustomer.bind(“,更新标签)
每当您从组合框下拉列表中选择一个项目时,都会触发
update\u label
方法


这种方法不需要使用
StringVar()
,因此您可以删除
icu

我认为对于您的使用,来宾提供的链接效果最好,但关于您的示例,我认为最好使用标签的关键字textvariable,即

# note that this is the StringVar ICUS, not the combobox ICUSTOMER.
label_ICustVar = tk.Label( textvariable= ICus) 
label_ICustVar.grid(row = 3, column = 3)

那么
tkk.Combobox
的方法呢?它将返回当前值。如果希望在值更改时调用回调,请查看。如果组合框和标签的
textvariable
使用相同的值,则两者将自动链接在一起。这是这些特殊变量存在的主要原因之一。您好,感谢您接受我的答案,但在这种情况下似乎更好。我想你应该先接受我的,然后接受这个。