python tkinter 下拉框_python tkinter(二) 下拉框(combobox)组件的属性说明及示例...

本文详细介绍了Python tkinter库中的下拉框组件Combobox,包括其用法、属性设置和示例代码。通过Combobox,可以在GUI界面中创建下拉列表,设置默认选项,获取选中值,并进行插入、删除等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python tkinter 下拉框(combobox)组件用于tkinter GUI里添加下拉框,下拉框可以添加文本和设置默认选项。当选中下拉框时,可以返回指定的值,通过不同的值,执行不同的函数。

使用语法:

self.drop_down_box = ttk.Combobox(master)

master:按钮控件的父容器

参数说明:

value

插入下拉选项

.current()

默认显示的下拉选项框

.get()

获取下拉选项框中的值

.insert()

下拉框中插入文本

.delete()

删除下拉框中的文本

state

下拉框的状态,分别包含DISABLED/NORMAL/ACTIVE

width

下拉框高度

foreground

前景色

selectbackground

选择后的背景颜色

fieldbackground

下拉框颜色

background

下拉按钮颜色

代码示例:

# coding:utf-8

from tkinter import *

from tkinter import ttk # 导入ttk模块,因为下拉菜单控件在ttk中

class drop_down_box:

def __init__(self):

self.win = Tk()

self.win.title("下拉框")

self.win.geometry("600x200")

'''下拉框样式'''

# 创建下拉列表,设置下拉列表中的值

self.normal_ddl = Label(self.win, text='下拉框选项:')

self.ddl = ttk.Combobox(self.win)

self.ddl['value'] = ('下拉选项1', '下拉选项2', '下拉选项3', '下拉选项4')

# 设置默认值,即默认下拉框中的内容,索引从0开始

self.ddb_default_L = Label(self.win, text='下拉框默认值:')

self.ddb_default = ttk.Combobox(self.win)

self.ddb_default['value'] = ('下拉选项1', '下拉选项2', '下拉选项3', '下拉选项4')

self.ddb_default.current(2)

# get()获取选中的值

self.ddb_acquire_L = Label(self.win, text='获取下拉框的值:')

self.ddb_acquire = ttk.Combobox(self.win)

self.ddb_acquire['value'] = ('下拉选项1', '下拉选项2', '下拉选项3', '下拉选项4')

self.ddb_acquire.current(3)

ddl_get = self.ddb_acquire.get()

self.ddb_acquire_echo = Label(self.win, text=str(ddl_get))

# 下拉框中插入文本insert(插入位置,插入内容)

self.ddb_insert_L = Label(self.win, text='下拉框中插入值:')

self.ddb_insert = ttk.Combobox(self.win)

self.ddb_insert.insert(0, 'data')

# 下拉框删除文本,delete(删除开始位置,删除结束位置)

self.ddb_delete_L = Label(self.win, text='下拉框中插入值:')

self.ddb_delete = ttk.Combobox(self.win)

self.ddb_delete['value'] = ('下拉选项1', '下拉选项2', '下拉选项3', '下拉选项4')

self.ddb_delete.current(0)

self.ddb_delete.delete(1, 4)

# 下拉框状态

self.ddb_status = Label(self.win, text='下拉框状态:')

self.ddb_disabled = ttk.Combobox(self.win)

self.ddb_disabled['value'] = ('禁用状态')

self.ddb_disabled.current(0)

self.ddb_disabled.config(state=DISABLED)

self.ddb_normal = ttk.Combobox(self.win)

self.ddb_normal['value'] = ('普通状态')

self.ddb_normal.current(0)

self.ddb_normal.config(state=NORMAL)

self.ddb_active = ttk.Combobox(self.win)

self.ddb_active['value'] = ('活跃状态')

self.ddb_active.current(0)

self.ddb_active.config(state=ACTIVE)

# 下拉框权限

self.ddb_permission = Label(self.win, text='下拉框权限:')

self.dropdown_permission = ttk.Combobox(self.win)

self.dropdown_permission['value'] = ('只读权限')

self.dropdown_permission.current(0)

self.dropdown_permission['state'] = 'readonly'

self.dropdown_read_write = ttk.Combobox(self.win)

self.dropdown_read_write['value'] = ('读写权限')

self.dropdown_read_write.current(0)

self.dropdown_read_write['state'] = 'read-write'

# 下拉框宽度

self.ddb_width_label = Label(self.win, text='下拉框宽度:')

self.ddb_width = ttk.Combobox(self.win, width=9)

# 下拉框颜色

combostyle = ttk.Style()

combostyle.theme_create('combostyle', parent='alt',

settings={'TCombobox':

{'configure':

{

'foreground': 'blue', # 前景色

'selectbackground': 'black', # 选择后的背景颜色

'fieldbackground': 'white', # 下拉框颜色

'background': 'red', # 下拉按钮颜色

}}}

)

combostyle.theme_use('combostyle')

'''grid布局'''

self.normal_ddl.grid(row=1, column=1, sticky='E')

self.ddl.grid(row=1, column=2, sticky='NW')

self.ddb_default_L.grid(row=2, column=1, sticky='E')

self.ddb_default.grid(row=2, column=2, sticky='NW')

self.ddb_acquire_L.grid(row=3, column=1, sticky='E')

self.ddb_acquire.grid(row=3, column=2, sticky='NW')

self.ddb_acquire_echo.grid(row=3, column=3, sticky='W')

self.ddb_insert_L.grid(row=4, column=1, sticky='E')

self.ddb_insert.grid(row=4, column=2, sticky='NW')

self.ddb_delete_L.grid(row=5, column=1, sticky='E')

self.ddb_delete.grid(row=5, column=2, sticky='NW')

self.ddb_status.grid(row=6, column=1, sticky='E')

self.ddb_disabled.grid(row=6, column=2, sticky='NW')

self.ddb_normal.grid(row=6, column=3, sticky='NW')

self.ddb_active.grid(row=6, column=4, sticky='NW')

self.ddb_permission.grid(row=7, column=1, sticky='E')

self.dropdown_permission.grid(row=7, column=2, sticky='NW')

self.dropdown_read_write.grid(row=7, column=3, sticky='NW')

self.ddb_width_label.grid(row=8, column=1, sticky='E')

self.ddb_width.grid(row=8, column=2, sticky='NW')

self.win.mainloop()

def select(self):

print(self.ddl.get())

if __name__ == '__main__':

drop_down_box()

实际展示:

0ce06d10b1587b39c5209eb91992a497.png

相关文档推荐:

Python tkinter(一) 按钮(Button)组件的属性说明及示例

Python tkinter(三) 单选框(Radiobutton)组件的属性说明及示例

Python tkinter(四) 文本框(Text)组件的属性说明及示例

Python tkinter(五) 文本框(Entry)组件的属性说明及示例

Python tkinter(六) 标签(Label)组件的属性说明及示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值