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


Posted in Python onMarch 04, 2020

废话不多说,看代码吧!

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)实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python多线程和队列操作实例
Jun 21 Python
使用python实现省市三级菜单效果
Jan 20 Python
用Python实现随机森林算法的示例
Aug 24 Python
python 将数据保存为excel的xls格式(实例讲解)
May 03 Python
python中类的属性和方法介绍
Nov 27 Python
Python QQBot库的QQ聊天机器人
Jun 19 Python
详解如何用python实现一个简单下载器的服务端和客户端
Oct 28 Python
浅谈Django2.0 加xadmin踩的坑
Nov 15 Python
pytorch方法测试详解——归一化(BatchNorm2d)
Jan 15 Python
如何解决pycharm调试报错的问题
Aug 06 Python
Python WSGI 规范简介
Apr 11 Python
Python编写车票订购系统 Python实现快递收费系统
Aug 14 Python
Python3中的f-Strings增强版字符串格式化方法
Mar 04 #Python
Python MySQLdb 执行sql语句时的参数传递方式
Mar 04 #Python
python3格式化字符串 f-string的高级用法(推荐)
Mar 04 #Python
利用Python脚本批量生成SQL语句
Mar 04 #Python
一文了解python 3 字符串格式化 F-string 用法
Mar 04 #Python
Python正则表达式学习小例子
Mar 03 #Python
python正则表达式实例代码
Mar 03 #Python
You might like
解析dedeCMS验证码的实现代码
2013/06/07 PHP
PHP基于cookie实现统计在线人数功能示例
2019/01/16 PHP
精通Javascript系列之数据类型 字符串
2011/06/08 Javascript
js判断鼠标同时离开两个div的思路及代码
2013/05/31 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
2015/01/24 Javascript
Javascript模仿淘宝信用评价实例(附源码)
2015/11/26 Javascript
基于jquery实现页面滚动到底自动加载数据的功能
2015/12/19 Javascript
jQuery 移动端artEditor富文本编辑器
2016/01/11 Javascript
Bootstrap3 datetimepicker控件使用实例
2016/12/13 Javascript
vue 数组和对象不能直接赋值情况和解决方法(推荐)
2017/10/25 Javascript
JS中实现隐藏部分姓名或者电话号码的代码
2018/07/17 Javascript
MockJs结合json-server模拟后台数据
2020/08/26 Javascript
Vue实现按钮级权限方案
2019/11/21 Javascript
Vue 请求传公共参数的操作
2020/07/31 Javascript
Bootstrap FileInput实现图片上传功能
2021/01/28 Javascript
linux系统使用python监测网络接口获取网络的输入输出
2014/01/15 Python
Python实现优先级队列结构的方法详解
2016/06/02 Python
Python numpy生成矩阵、串联矩阵代码分享
2017/12/04 Python
Python贪心算法实例小结
2018/04/22 Python
python抽取指定url页面的title方法
2018/05/11 Python
PyCharm常用配置和常用插件(小结)
2021/02/06 Python
Python字节单位转换(将字节转换为K M G T)
2021/03/02 Python
python 将Excel转Word的示例
2021/03/02 Python
Theory美国官网:后现代都市风时装品牌
2018/05/09 全球购物
Ref与out有什么不同
2012/11/24 面试题
东方红海科技面试题软件测试方面
2012/02/08 面试题
通信工程专业女生个人求职信
2013/09/21 职场文书
保险公司年会主持词
2014/03/22 职场文书
安全协议书
2014/04/23 职场文书
挂牌仪式策划方案
2014/05/18 职场文书
美德少年事迹材料500字
2014/08/19 职场文书
2014年最新离婚协议书范本
2014/10/11 职场文书
母亲节寄语大全
2015/02/27 职场文书
2015年幼儿园教育教学工作总结
2015/05/25 职场文书
保护动物的宣传语
2015/07/13 职场文书
基于PostgreSQL/openGauss 的分布式数据库解决方案
2021/12/06 PostgreSQL