利用tkinter改变下拉列表(Combobox)的选项值
作者:乌拉队长 发布时间:2023-07-20 03:10:37
标签:tkinter,下拉列表,Combobox,选项值
tkinter改变下拉列表(Combobox)的选项值
定义下拉列表:
# 此处省略父容器的定义 ...
# 定义下拉列表选项值集合
self.Combo5List = ['0', '1', '2', '3']
# 定义下拉列表Combobox
self.Combo5 = Combobox(self.Frame1, values=self.Combo5List, font=('宋体', 9), state='readonly')
# 放置控件
self.Combo5.place(relx=0.39, rely=0.636, relwidth=0.063, relheight=0.08)
# 设置下拉列表的默认值
self.Combo5.set(self.Combo5List[0])
改变Combobox的选项值:
# 新选项值的集合
index = ["a", "b", "c", "d"]
# 给Combobox的选项重新赋值
self.Combo5["value"] = index
# 设置默认值
self.Combo5.set(index[2])
获取Combobox选中项的值:
self.Combo5.get()
Tkinter Combobox控件
Combobox控件
通过前面内容的介绍我们知道 Listbox 是一个供用户从列表项中选择相应条目的控件。但在有些情况下,比如列表的项目过多时,若使用列表控件,列出所有选项就会显得界面格外臃肿,这时就需要用到 Combobox 控件,也就是下拉菜单控件(或称复合框),该控件是列表控件的改进版,具有更加灵活的界面,因此其应用场景相比于前者要更加广泛。
不过需要注意的是 Combobox 并不包含在 tkinter 模块中,而是包含在tkinter.ttk子模块中,因此若想使用 Combobox 控件,需要使用下面的导包方式:
from tkinter import ttk
语法格式:
cbox=Combobox(窗口对象,[参数列表])
Combobox 控件在形式虽然与列表控件存在不同,但它们的本质是相同,因此属性和方法是通用的。
对于 Combobox 控件而言,它常用的方法有两个,分别是 get() 和 current(),前者表示获取当前选中选项的内容,后者表示获取选中选项的索引值:
import tkinter
from tkinter import ttk # 导入ttk模块,下拉菜单控件位于ttk子模块中
win = tkinter.Tk()
win.geometry('400x250')
win.resizable(0,0)
cbox = ttk.Combobox(win)
# 使用 grid() 来控制控件的位置
cbox.grid(row = 1, sticky="NW")
# 设置下拉菜单中的值
cbox['value'] = ('C','C#','Go','Python','Java')
#通过 current() 设置下拉菜单选项的默认值
cbox.current(3)
# 编写回调函数,绑定执行事件,向文本插入选中文本
def func(event):
text.insert('insert',cbox.get()+"\n")
# 绑定下拉菜单事件
cbox.bind("<<ComboboxSelected>>",func)
text = tkinter.Text(win)
text.grid(pady = 5)
win.mainloop()
来源:https://blog.csdn.net/asdfg6541/article/details/103971531
0
投稿
猜你喜欢
- 一、问题引发思考前阵子与同事探讨一个小需求时又遇到了按钮表示“动作”和表示“状态”间矛盾问题。想想这个问题多年前已经开始讨论了,所以在此整理
- 网站的改版和重新设计总是一件让人激动的事情,上到老板,下到设计师。更漂亮!更强大!更人性化……参与设计者一定有着无数为新版本骄傲的理由,然后
- 摘要:本篇文章介绍了ORACLE数据库的新特性—分区管理,并用例子说明使用方法。 关键词:ORACLE,分区 一、 分区概述: 为了简化数据
- Microsoft SQL Server 2000的会话上下文信息使应用程序得以设置二进制值,以便在同一会话或连接上运行的多个批处理、存储过
- 方法来源于土豆网的导航,在这里纪录一下实现的思路。主要是利用 position 属性的 absolute 和 relative 配
- 可以使用 Application 对象在给定的应用程序的所有用户之间共享信息。基于 ASP 的应用程序同所有的 .asp 文件一样在一个虚拟
- 使用MySQL,安全问题不能不注意。以下是MySQL提示的23个注意事项:1。如果客户端和服务器端的连接需要跨越并通过不可信任的网络,那么就
- <div class=”A” style=”position:relative;”>A 
- 如果查询结果很多,服务器解释你的ASP script将花费大量的时间,因为有许多的Response.Write语句要处理. 如果你将输出的全
- 二级域名的解析指向ASP源代码,懂程序的人一看就明白怎么实现了。呵呵!真简单<%@ LANGUAGE =&nb
- 这篇文章主要是把ASP代码变成组件,开发者不仅是加快了ASP的速度,而且也能保护加密自己的代码,编译asp代码为dll组件我想这个是最好的保
- 过程名:catch(str) 使用方法: 代码如下:on error resume next '你的代码,如数据库连接 call c
- 我一直使用Microsoft的FrontPage 98来开发ASP/ADO之类的Internet数据库应用程序。现在我听说许多人都非常信奉采
- 今天帮一同学导入一个excel数据,我把excel保存为txt格式,然后建表导入,失败!分隔符格式不匹配,无法导入!!!!怎么看两边都是\t
- MySQL默认编码是latin1,因业务需要把它转到UTF8。1、导出数据导出表结构 mysqldump -d dataname >
- 下面是一些有助于更有效地使用 SQL 事件探查器的提示和技巧。运行的跟踪过多如果 Microsoft? SQL Server? 实例运行得过
- asp按关键字查询XML的问题 '-------------------------------------------------
- 在windows+iis服务器上运行asp程序可能会出现数据库无法更新的情况,具体错误信息可能为: 1、Microsoft JET Data
- 类 型描 述EmptyVariable 没有被初始化,它是数字的话,它的值就为0,如果它是字符串,那么它的值就为1N
- 在使用DB2以来,碰到了几次出现提示SQL1032N错误,每次出错时出错信息大概如下:11/21/2004 22:15:33 0 0 SQL