Python 窗体(tkinter)下拉列表框(Combobox)实例

 更新时间:2020年03月04日 08:23:32   作者:houyanhua1  
这篇文章主要介绍了Python 窗体(tkinter)下拉列表框(Combobox)实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

废话不多说,看代码吧!

import tkinter
from tkinter import ttk
 
def go(*args):  #处理事件,*args表示可变参数
  print(comboxlist.get()) #打印选中的值
 
win=tkinter.Tk() #构造窗体
comvalue=tkinter.StringVar()#窗体自带的文本,新建一个值
comboxlist=ttk.Combobox(win,textvariable=comvalue) #初始化
comboxlist["values"]=("1","2","3","4")
comboxlist.current(0) #选择第一个
comboxlist.bind("<<ComboboxSelected>>",go) #绑定事件,(下拉列表框被选中时,绑定go()函数)
comboxlist.pack()
 
win.mainloop() #进入消息循环

补充知识:Python GUI 之 Combobox 学习

1. 序言

本章介绍tkinter.ttk的Combobox控件。

2. 环境信息

********************************
本系列运行平台:Windows10 64bit
Python 版本:3.7
********************************

3. Combobox

Combobox为下拉列表控件,它可以包含一个或多个文本项(text item),可以设置为单选或多选。使用方式为ttk.Combobox(root,option...)。

常用的参数列表如下:

参数

描述

master

代表了父窗口

height

设置显示高度、如果未设置此项,其大小以适应内容标签

width

设置显示宽度,如果未设置此项,其大小以适应内容标签

state

可读状态,如state= “readonly”

textvariable

设置textvariable属性

一些常用的函数:

函数

描述

get

返回制定索引的项值,如listbox.get(1);返回多个项值,返回元组,如listbox.get(0,2);返回当前选中项的索引listbox.curselection()

values

设定下拉列表的内容。如 data = ["a","b","c"], cbx["values"] = data

current(i)

指定下拉列表生成时显示在列表值,i = index。如current(2),显示列表中的第三个值

事件:

下拉列表没有command函数(方法)。

下拉列表的虚拟事件是 "<<ComboboxSelected>>"。

4. 实例

实例1

from tkinter import *
from tkinter import ttk
 
#Create an instance
win = Tk()
win.title("Learn Combobox")
 
#create a Label
lb1 = Label(win, text = "Below is a combobox 1", font = "tahoma 12 normal")
lb1.grid(column = 0, row = 0, padx = 8, pady = 4)
 
def show_select_1():
	print("post_command: show_select")
	print(value.get())
 
#Define tkinter data type
data = ["a","b","c"]
value = StringVar()
 
#Create a combobox, and tighter it to value
cbx_1 = ttk.Combobox(win, width = 12, height = 8, textvariable = value, postcommand = show_select_1)
cbx_1.grid(column = 0, row = 1)
 
#add data to combobox
cbx_1["values"] = data
 
#======================================================================================================
#create a Label
lb2 = Label(win, text = "Below is a combobox 2", font = "tahoma 12 normal")
lb2.grid(column = 0, row = 4, padx = 8, pady = 4)
 
def show_data_2(*args):
	print("Event: ComboboxSelected")
	print(cbx_2.get())
 
#Define tkinter data type
data2 = ["a2","b2","c2","d2","e2"]
 
#Create a combobox, and tighter it to value
cbx_2 = ttk.Combobox(win, width = 12, height = 8)
cbx_2.grid(column = 0, row = 5)
 
#set cbx_2 as readonly
cbx_2.configure(state = "readonly")
 
#add data to combobox
cbx_2["values"] = data2
#set the initial data [index =2] to shows up when win generated
cbx_2.current(2)
 
#bind a event
cbx_2.bind("<<ComboboxSelected>>", show_data_2)
 
win.mainloop()

以上这篇Python 窗体(tkinter)下拉列表框(Combobox)实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Django实现whoosh搜索引擎使用jieba分词

    Django实现whoosh搜索引擎使用jieba分词

    这篇文章主要介绍了Django实现whoosh搜索引擎使用jieba分词,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python基础篇之字符串的最全常用操作方法汇总

    Python基础篇之字符串的最全常用操作方法汇总

    我们在学习Python语言时会遇到各种各样的字符串方法处理,下面这篇文章主要给大家介绍了关于Python基础篇之字符串的最全常用操作方法的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • Pandas中DataFrame对象转置(交换行列)

    Pandas中DataFrame对象转置(交换行列)

    本文主要介绍了Pandas中DataFrame对象转置(交换行列),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 对python列表里的字典元素去重方法详解

    对python列表里的字典元素去重方法详解

    今天小编就为大家分享一篇对python列表里的字典元素去重方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python实现对百度云的文件上传(实例讲解)

    Python实现对百度云的文件上传(实例讲解)

    下面小编就为大家带来一篇Python实现对百度云的文件上传(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • django+mysql的使用示例

    django+mysql的使用示例

    django可以自动生成这些create table, alter table, drop table的操作,这篇文章主要介绍了django+mysql的使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • Python datetime模块高效处理日期和时间的方法

    Python datetime模块高效处理日期和时间的方法

    Python内置的datetime模块提供了强大的工具来处理这些需求,本文将全面介绍datetime模块的使用方法,从基础操作到高级技巧,帮助你掌握Python中的日期时间处理,感兴趣的朋友一起看看吧
    2025-05-05
  • python3实现域名查询和whois查询功能

    python3实现域名查询和whois查询功能

    本篇文章给大家分享了python3实现域名查询和whois查询功能的详细代码,有需要的朋友参考学习下。
    2018-06-06
  • ptyhon实现sitemap生成示例

    ptyhon实现sitemap生成示例

    这篇文章主要介绍了ptyhon实现sitemap生成示例,需要的朋友可以参考下
    2014-03-03
  • tensorflow模型的save与restore,及checkpoint中读取变量方式

    tensorflow模型的save与restore,及checkpoint中读取变量方式

    这篇文章主要介绍了tensorflow模型的save与restore,及checkpoint中读取变量方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05

最新评论