python tkinter 下拉选择框
时间: 2023-04-28 15:05:46 浏览: 144
Python Tkinter 模块中有一个组件叫做 ttk.Combobox,可以用来创建下拉选择框。使用方法如下:
```
from tkinter import ttk
root = Tk()
combobox = ttk.Combobox(root)
combobox["values"] = ("Option 1", "Option 2", "Option 3")
combobox.current(0)
combobox.pack()
root.mainloop()
```
这段代码会在窗口中创建一个下拉选择框,可以选择"Option 1"、"Option 2"、"Option 3"三个选项,默认选择 "Option 1".
相关问题
Python tkinter自定义多选下拉列表框
Python tkinter中没有原生的多选下拉列表框,但可以通过一些技巧来实现自定义的多选下拉列表框。下面是一个示例代码,演示如何自定义一个多选下拉列表框:
```python
from tkinter import *
from tkinter.ttk import *
class MultiListbox(Frame):
def __init__(self, master, data):
super().__init__(master)
self.grid(sticky=N+S+E+W)
self.create_widgets()
self.fill_data(data)
def create_widgets(self):
self.listbox = Listbox(self, selectmode=MULTIPLE)
self.listbox.grid(row=0, column=0, sticky=N+S+E+W)
self.scrollbar = Scrollbar(self, orient=VERTICAL, command=self.listbox.yview)
self.scrollbar.grid(row=0, column=1, sticky=N+S)
self.listbox.config(yscrollcommand=self.scrollbar.set)
self.button = Button(self, text="选择", command=self.get_selection)
self.button.grid(row=1, column=0, sticky=E)
def fill_data(self, data):
for item in data:
self.listbox.insert(END, item)
def get_selection(self):
selection = self.listbox.curselection()
selected_items = [self.listbox.get(i) for i in selection]
print(selected_items)
root = Tk()
data = ['选项1', '选项2', '选项3', '选项4', '选项5']
app = MultiListbox(root, data)
app.mainloop()
```
运行上面的代码,会弹出一个窗口,其中包含一个多选下拉列表框和一个选择按钮。用户可以选择列表框中的一个或多个选项,然后点击选择按钮,程序会输出用户选择的选项。
tkinter下拉列表框事件
在Tkinter中,可以通过绑定事件来响应下拉列表框的选择。以下是一个示例代码,演示了如何使用下拉列表框的事件:
```python
import tkinter as tk
from tkinter import ttk
def on_select(event):
selected_item = event.widget.get()
print("Selected item:", selected_item)
root = tk.Tk()
# 创建下拉列表框
combo = ttk.Combobox(root, values=["Option 1", "Option 2", "Option 3"])
# 绑定事件处理函数到下拉列表框的选择事件
combo.bind("<<ComboboxSelected>>", on_select)
combo.pack()
root.mainloop()
```
在这个例子中,我们创建了一个下拉列表框(Combobox),并使用`values`参数设置了可选项。然后,我们使用`bind`方法将选择事件(`"<<ComboboxSelected>>"`)与一个事件处理函数`on_select`绑定起来。当用户选择一个选项时,事件处理函数将被调用,并打印出所选的选项。
你可以根据自己的需求修改`on_select`函数来处理下拉列表框的选择事件。
阅读全文