Tkinter 创建多选下拉框 选中可在选框中显示内容 点击按钮获取选中值 并弹窗显示选中值
时间: 2024-05-12 21:16:16 浏览: 8
下面是一个简单的示例代码,实现了创建多选下拉框,选中时可在选框中显示内容,点击按钮获取选中值并弹窗显示选中值:
```python
import tkinter as tk
from tkinter import messagebox
class MultiSelectDropDownList(tk.Frame):
def __init__(self, master, options):
tk.Frame.__init__(self, master)
self.options = options
self.selected_options = []
# 创建下拉框
self.dropdown = tk.Listbox(self, height=5, selectmode=tk.MULTIPLE)
for option in options:
self.dropdown.insert(tk.END, option)
self.dropdown.pack(side=tk.LEFT, padx=10, pady=10)
# 创建选中内容显示框
self.selected_label = tk.Label(self, text="Selected: ")
self.selected_label.pack(side=tk.LEFT, padx=10, pady=10)
# 创建获取选中值的按钮
self.get_selected_button = tk.Button(self, text="Get Selected", command=self.get_selected)
self.get_selected_button.pack(side=tk.LEFT, padx=10, pady=10)
def get_selected(self):
self.selected_options = [self.options[i] for i in self.dropdown.curselection()]
messagebox.showinfo("Selected Options", "\n".join(self.selected_options))
self.selected_label.config(text="Selected: " + ", ".join(self.selected_options))
# 测试代码
if __name__ == '__main__':
root = tk.Tk()
root.geometry("400x150")
root.title("Multi-Select Drop-Down List")
options = ["Option 1", "Option 2", "Option 3", "Option 4", "Option 5"]
multi_select_dropdown = MultiSelectDropDownList(root, options)
multi_select_dropdown.pack()
root.mainloop()
```
在测试代码中,我们创建了一个包含 5 个选项的下拉框,并将其添加到了一个 `MultiSelectDropDownList` 实例中。然后将该实例添加到了主窗口中。运行程序后,我们可以在下拉框中选择多个选项,并点击“Get Selected”按钮来获取选中值。获取选中值后,程序会弹出一个提示框,并将选中值显示在选框中。