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爬取亚马逊书籍信息代码分享,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • win7下python3.6安装配置方法图文教程

    win7下python3.6安装配置方法图文教程

    这篇文章主要为大家详细介绍了win7下python3.6安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • 关于pandas.DataFrame的类SQL操作

    关于pandas.DataFrame的类SQL操作

    这篇文章主要介绍了关于pandas.DataFrame的类SQL操作方式,具有很好的参考价值,希望对大家有所帮助,
    2023-08-08
  • 基于python元祖与字典与集合的粗浅认识

    基于python元祖与字典与集合的粗浅认识

    下面小编就为大家带来一篇基于python元祖与字典与集合的粗浅认识。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Python基础中的列表你了解吗

    Python基础中的列表你了解吗

    这篇文章主要为大家介绍了Python基础中的列表列表,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • 如何基于Python制作有道翻译小工具

    如何基于Python制作有道翻译小工具

    这篇文章主要介绍了如何基于Python制作有道翻译小工具,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Python全局变量global关键字详解

    Python全局变量global关键字详解

    这篇文章主要介绍了Python全局变量global关键字详解,需要的朋友可以参考下
    2021-04-04
  • python 数据生成excel导出(xlwt,wlsxwrite)代码实例

    python 数据生成excel导出(xlwt,wlsxwrite)代码实例

    这篇文章主要介绍了python 数据生成excel导出(xlwt,wlsxwrite)代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python从文件中读取数据的方法讲解

    Python从文件中读取数据的方法讲解

    今天小编就为大家分享一篇关于Python从文件中读取数据的方法讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • Python之site-packages目录的位置

    Python之site-packages目录的位置

    这篇文章主要介绍了Python之site-packages目录的位置,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11

最新评论