Python之tkinter组合框Combobox用法及说明
作者:qq_1471587327 时间:2022-09-27 20:29:59
组合框 Combobox 简介
Combobox 可以翻译为组合框,这是tkinter.ttk
的 Widget控件,它的特性与OptionMenu类似,可以说它是Entry和下拉菜单的组合,构造方法如下
Combobox(父对象, options)
参数:
第一个参数:子组件,表示这个组合框将建立在哪一个窗口内
第二个参数:
options
,参数如下
参数 | 含义 |
---|---|
textvariable | 可以设置Combobox 的变量值 |
value | Combobox 的选项内容以元组方式存在 |
建立 Combobox
在 Combobox()的构造方法中,可以使用Value 参数建立选项内容
例子:
import tkinter
import tkinter.ttk
root = tkinter.Tk()
var = tkinter.StringVar()
combobox = tkinter.ttk.Combobox(root, textvariable=var, value=('python', 'java', 'C', 'C++'))
combobox.pack(padx=5, pady=10)
root.mainloop()
运行结果:
若是选项很多,可以使用独立在Combobox()外来处理
例子:
combobox = tkinter.ttk.Combobox(root, textvariable=var)
combobox['value'] = ('python', 'java', 'C', 'C++')
运行结果与上面相同
设置默认选项 current()
例子:
import tkinter
import tkinter.ttk
root = tkinter.Tk()
var = tkinter.StringVar()
combobox = tkinter.ttk.Combobox(root, textvariable=var)
combobox['value'] = ('python', 'java', 'C', 'C++')
combobox.current(0)
combobox.pack(padx=5, pady=10)
root.mainloop()
运行结果:
或者可以使用var.set()
方法来设置,但是相比而言还是current()
比较便利
例子:
var.set(combobox['value'][0])
# combobox.current(0)
运行结果一样
获得目前选项 get()
例子:
import tkinter
import tkinter.ttk
def show():
# 使用var.get()来获得目前选项内容
varLabel.set(var.get())
root = tkinter.Tk()
var = tkinter.StringVar()
combobox = tkinter.ttk.Combobox(root, textvariable=var)
combobox['value'] = ('python', 'java', 'C', 'C++')
combobox.current(0)
combobox.pack(padx=5, pady=10)
varLabel = tkinter.StringVar()
label = tkinter.Label(root, textvariable=varLabel, width=20, height=3, bg='lightblue', fg='red')
label.pack()
button = tkinter.Button(root, text='print', command=show)
button.pack()
root.mainloop()
运行结果:
绑定 Combobox
当Combobox 中的选项有变动时,会产生虚拟事件<<ComboboxSelected>>
,可以使用这个特性将此事件绑定处理方法
例子:
import tkinter
import tkinter.ttk
def show(event):
# 使用var.get()来获得目前选项内容
varLabel.set(var.get())
root = tkinter.Tk()
var = tkinter.StringVar()
combobox = tkinter.ttk.Combobox(root, textvariable=var)
combobox['value'] = ('python', 'java', 'C', 'C++')
combobox.current(0)
combobox.bind('<<ComboboxSelected>>', show)
combobox.pack(side=tkinter.LEFT, padx=5, pady=10)
varLabel = tkinter.StringVar()
label = tkinter.Label(root, textvariable=varLabel, width=6, bg='lightblue', fg='red')
label.pack(side=tkinter.LEFT)
root.mainloop()
运行结果:
来源:https://blog.csdn.net/qq_44168690/article/details/105085953
标签:Python,tkinter,组合框,Combobox
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
django美化后台django-suit的安装配置操作
2021-12-19 23:13:25
运用TensorFlow进行简单实现线性回归、梯度下降示例
2022-03-02 10:30:15
![](https://img.aspxhome.com/file/2023/2/90952_0s.png)
Django中Aggregation聚合的基本使用方法
2023-09-15 02:38:29
Python文件和流(实例讲解)
2023-08-02 19:11:45
python实现发送邮件功能代码
2023-08-25 16:05:10
对python中xlsx,csv以及json文件的相互转化方法详解
2021-01-28 23:24:34
python编程羊车门问题代码示例
2023-04-10 18:39:19
python读取excel表格生成erlang数据
2022-12-26 05:03:54
python3发送request请求及查看返回结果实例
2023-09-18 11:34:10
Oracle关于时间/日期的操作
2009-02-26 10:37:00
Python实现京东抢秒杀功能
2021-12-06 04:50:17
![](https://img.aspxhome.com/file/2023/8/71558_0s.png)
python 定时器,轮询定时器的实例
2023-07-08 04:26:57
Python+Kepler.gl实现时间轮播地图过程解析
2021-03-27 00:20:52
![](https://img.aspxhome.com/file/2023/0/90320_0s.jpg)
Python 3.8 新功能大揭秘【新手必学】
2021-07-23 18:08:50
![](https://img.aspxhome.com/file/2023/2/90532_0s.jpg)
画好线框图的20个步骤
2009-09-01 19:46:00
python 通过exifread读取照片信息
2022-12-09 13:44:53
使用css2.1实现多重背景、多重边框效果[译]
2010-08-23 16:32:00
![](https://img.aspxhome.com/file/UploadPic/20108/23/css2-multiple-background-border-model-12s.png)
栅格:从混乱到秩序
2008-07-02 12:09:00
![](https://img.aspxhome.com/file/UploadPic/20087/2/200872121218318s.gif)
CSS Type set: 在线字体调整工具
2008-03-02 15:36:00
![](https://img.aspxhome.com/file/UploadPic/20083/2/csstypeset-snap_96s.gif)
高效的MySQL分页
2011-01-04 20:01:00