Tkinter 创建多选下拉框 点击按钮获取选中值 并弹窗显示选中值
时间: 2024-05-03 10:23:01 浏览: 145
以下是一个示例代码,它创建了一个多选下拉框,其中包含三个选项。当用户点击“获取选中值”按钮时,程序将弹出一个消息框,显示所选选项的值:
```python
import tkinter as tk
from tkinter import messagebox
class MultiSelect(tk.Frame):
def __init__(self, master, options):
super().__init__(master)
self.options = options
self.selected = []
self.dropdown = tk.OptionMenu(self, tk.StringVar(), *options, command=self.update_selected)
self.dropdown.pack(side="left", padx=5, pady=5)
self.select_button = tk.Button(self, text="获取选中值", command=self.show_selected)
self.select_button.pack(side="left", padx=5, pady=5)
def update_selected(self, value):
if value in self.selected:
self.selected.remove(value)
else:
self.selected.append(value)
def show_selected(self):
messagebox.showinfo("选中值", ", ".join(self.selected))
if __name__ == "__main__":
root = tk.Tk()
root.geometry("300x200")
options = ["选项1", "选项2", "选项3"]
multi_select = MultiSelect(root, options)
multi_select.pack()
root.mainloop()
```
在这个示例中,我们首先定义了一个名为`MultiSelect`的类,该类代表了多选下拉框。在类的构造函数中,我们将提供的选项列表存储在`self.options`中,并创建一个`OptionMenu`小部件,该部件显示了这些选项。我们还定义了一个名为`self.selected`的列表,用于存储用户选择的选项。每次用户选择或取消选择一个选项时,`update_selected`方法会被调用,该方法将选择的选项添加到或从`self.selected`列表中。最后,当用户点击“获取选中值”按钮时,`show_selected`方法将弹出一个消息框,其中显示所选选项的值。
在主程序中,我们创建了一个名为`root`的主窗口,并将其大小设置为300x200像素。我们还定义了一个包含三个选项的选项列表,并创建了一个`MultiSelect`实例,该实例使用该选项列表。最后,我们通过调用`mainloop`方法来启动主事件循环,该循环等待用户与程序交互。
阅读全文