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
相关产品推荐
相关产品推荐

