Python之tkinter组合框Combobox用法及说明

 更新时间:2023年05月09日 14:12:59   作者:qq_1471587327  
这篇文章主要介绍了Python之tkinter组合框Combobox用法及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

组合框 Combobox 简介

Combobox 可以翻译为组合框,这是tkinter.ttk 的 Widget控件,它的特性与OptionMenu类似,可以说它是Entry和下拉菜单的组合,构造方法如下

Combobox(父对象, options)

参数:

  • 第一个参数:子组件,表示这个组合框将建立在哪一个窗口内
  • 第二个参数:options,参数如下
参数含义
textvariable可以设置Combobox 的变量值
valueCombobox 的选项内容以元组方式存在

建立 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()

运行结果:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python可视化工具如何实现动态图表

    Python可视化工具如何实现动态图表

    这篇文章主要介绍了Python可视化工具如何实现动态图表,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • django第一个项目127.0.0.1:8000不能访问的解决方案详析

    django第一个项目127.0.0.1:8000不能访问的解决方案详析

    django项目服务启动后无法通过127.0.0.1访问,下面这篇文章主要给大家介绍了关于django第一个项目127.0.0.1:8000不能访问的解决方案,需要的朋友可以参考下
    2022-10-10
  • 简单探讨一下python线程锁

    简单探讨一下python线程锁

    本文主要介绍了简单探讨一下python线程锁,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • python文件与路径操作神器 pathlib

    python文件与路径操作神器 pathlib

    这篇文章主要介绍了python文件与路径操作神器 pathlib,pathlib中封装了PurePath和Path类,前者用于处理路径风格的字符串;后者是前者的子类,可直接处理路径,下文关于更多的pathlib相关内容,需要的小伙伴可以参考一下
    2022-04-04
  • Python爬虫实现抓取电影网站信息并入库

    Python爬虫实现抓取电影网站信息并入库

    本文主要介绍了利用Python爬虫实现抓取电影网站信息的功能,并将抓取到的信息入库。文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
    2022-02-02
  • Python帮你识破双11的套路

    Python帮你识破双11的套路

    一年一度的“双十一”又要来了,很多人已经开始摩拳擦掌,毕竟几天之后手还在不在就不好说了。看看Python帮你识破双11的套路,需要的朋友可以参考下
    2019-11-11
  • 在Tensorflow中实现leakyRelu操作详解(高效)

    在Tensorflow中实现leakyRelu操作详解(高效)

    这篇文章主要介绍了在Tensorflow中实现leakyRelu操作详解(高效),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python数据可视化实现漏斗图过程图解

    Python数据可视化实现漏斗图过程图解

    这篇文章主要介绍了Python数据可视化实现漏斗图过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Python OpenCV视频截取并保存实现代码

    Python OpenCV视频截取并保存实现代码

    这篇文章主要介绍了Python OpenCV视频截取并保存实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Python使用type动态创建类操作示例

    Python使用type动态创建类操作示例

    这篇文章主要介绍了Python使用type动态创建类操作,结合实例形式详细分析了Python使用type动态创建类的具体原理、实现方法与操作注意事项,需要的朋友可以参考下
    2020-02-02

最新评论