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实现抢购IPhone手机
Feb 07 Python
Python实现的端口扫描功能示例
Apr 08 Python
详谈Numpy中数组重塑、合并与拆分方法
Apr 17 Python
python3+PyQt5实现自定义分数滑块部件
Apr 24 Python
Python使用Phantomjs截屏网页的方法
May 17 Python
python实现猜单词小游戏
May 22 Python
python如何实现数据的线性拟合
Jul 19 Python
pyinstaller打包程序exe踩过的坑
Nov 19 Python
Python计算公交发车时间的完整代码
Feb 12 Python
python 3.8.3 安装配置图文教程
May 21 Python
经验丰富程序员才知道的8种高级Python技巧
Jul 27 Python
python元组拆包实现方法
Feb 28 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
Apache2 httpd.conf 中文版
2006/12/06 PHP
超级好用的一个php上传图片类(随机名,缩略图,加水印)
2010/06/30 PHP
php 强制下载文件实现代码
2013/10/28 PHP
php实现singleton()单例模式实例
2014/11/06 PHP
Yii2使用dropdownlist实现地区三级联动功能的方法
2016/07/18 PHP
syntaxhighlighter 使用方法
2007/07/02 Javascript
js判断iframe内的网页是否滚动到底部触发事件
2014/03/18 Javascript
jQuery实现菜单式图片滑动切换
2015/03/14 Javascript
Jquery技巧(必须掌握)
2016/03/16 Javascript
jquery Deferred 快速解决异步回调的问题
2016/04/05 Javascript
JavaScript中的操作符类型转换示例总结
2016/05/30 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
2016/07/08 Javascript
jQuery替换节点元素的操作方法
2018/03/18 jQuery
vue-resource请求实现http登录拦截或者路由拦截的方法
2018/07/11 Javascript
Node.js npm命令运行node.js脚本的方法
2018/10/10 Javascript
express 项目分层实践详解
2018/12/10 Javascript
Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结
2019/02/11 Javascript
在windows下快速搭建web.py开发框架方法
2016/04/22 Python
Python判断对象是否为文件对象(file object)的三种方法示例
2019/04/26 Python
python 叠加等边三角形的绘制的实现
2019/08/14 Python
Python3实现二叉树的最大深度
2019/09/30 Python
关于ZeroMQ 三种模式python3实现方式
2019/12/23 Python
在ipython notebook中使用argparse方式
2020/04/20 Python
深入浅析HTML5中的article和section的区别
2018/05/15 HTML / CSS
蒂芙尼澳大利亚官方网站:Tiffany&Co. Australia
2017/08/27 全球购物
财务分析个人的自荐书范文
2013/11/24 职场文书
简历中自我评价范文3则
2013/12/14 职场文书
ktv总经理岗位职责
2014/02/17 职场文书
大学生个人自荐信样本
2014/03/02 职场文书
收款委托书范本
2014/09/11 职场文书
乡镇群众路线专项整治方案
2014/11/03 职场文书
客户经理岗位职责
2015/01/31 职场文书
银行求职自荐信范文
2015/03/04 职场文书
2015年汽车销售工作总结
2015/04/07 职场文书
大学生受助感言
2015/08/01 职场文书
python开发实时可视化仪表盘的示例
2021/05/07 Python