You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tkinter中Combobox选中元素获取与显示问题求助

解决Tkinter中点击按钮显示Combobox选中值到Label的问题

你的问题出在初始化阶段就提前获取了Combobox的值,此时self.selected_interf只会保存Combobox的初始值(也就是你设置的"Interfaces"),后续用户选择新选项时这个变量不会自动更新。

修正后的代码

初始化部分(移除提前获取值的代码)

self.dugme2 = Button(text="printer", command=self.ekle, fg="black", bg="green", font="bold")
self.dugme2.place(relx=0.40,rely=0.65)

self.ip_list2 = ttk.Combobox(width=15,state="readonly")
self.ip_list2["values"] = ["eth0", "wan0","wan1"]
self.ip_list2.place(relx=0.60, rely=0.08)
self.ip_list2.set("Interfaces")
# 移除这行:self.selected_interf=self.ip_list2.get()

修改按钮点击函数(实时获取选中值)

def ekle(self):
    # 点击按钮时才获取Combobox当前选中的最新值
    current_selection = self.ip_list2.get()
    # 避免重复创建Label,已存在则直接更新文本
    if hasattr(self, 'etiket3'):
        self.etiket3.config(text=current_selection)
    else:
        self.etiket3 = Label(text=current_selection, font="Times 11 bold", bg="grey")
        self.etiket3.place(rely=0.78, relx=0.39)

说明

  • 把self.ip_list2.get()移到ekle函数内部,确保每次点击按钮都能获取用户当前选中的选项
  • 增加了判断逻辑,如果Label已经创建过,直接用config方法更新文本,避免重复创建控件导致界面层级混乱

内容的提问来源于stack exchange,提问作者user21108655

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 22:35:31