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 (1)
Oct 31 Python
python使用socket进行简单网络连接的方法
Apr 29 Python
python生成器generator用法实例分析
Jun 04 Python
python实现二叉树的遍历
Dec 11 Python
Python面向对象基础入门之编码细节与注意事项
Dec 11 Python
Python考拉兹猜想输出序列代码实践
Jul 05 Python
pandas对dataFrame中某一个列的数据进行处理的方法
Jul 08 Python
使用Python实现正态分布、正态分布采样
Nov 20 Python
如何基于Python实现自动扫雷
Jan 06 Python
python实现Oracle查询分组的方法示例
Apr 30 Python
python基础之匿名函数详解
Apr 21 Python
pytorch实现加载保存查看checkpoint文件
Jul 15 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
php获取指定日期之间的各个周和月的起止时间
2014/11/24 PHP
Laravel框架实现修改登录和注册接口数据返回格式的方法
2018/08/17 PHP
PHP封装的完整分页类示例
2018/08/21 PHP
jQuery的强大选择器小结
2009/12/27 Javascript
jquery 获取标签名(tagName)示例代码
2013/07/11 Javascript
深入理解JavaScript中的传值与传引用
2013/12/09 Javascript
JavaScript中的document.referrer在各种浏览器测试结果
2014/07/18 Javascript
原生JavaScript实现异步多文件上传
2015/12/02 Javascript
js验证框架之RealyEasy验证详解
2016/06/08 Javascript
js控制div层的叠加简单方法
2016/10/15 Javascript
AngularJS过滤器filter用法分析
2016/12/11 Javascript
js实现表格筛选功能
2017/01/18 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
2017/02/05 Javascript
jQuery图片加载失败替换默认图片方法汇总
2017/11/29 jQuery
小程序云开发实战小结
2018/10/25 Javascript
vue-better-scroll 的使用实例代码详解
2018/12/03 Javascript
优雅的elementUI table单元格可编辑实现方法详解
2018/12/23 Javascript
webpack4之如何编写loader的方法步骤
2019/06/06 Javascript
Node.js API详解之 querystring用法实例分析
2020/04/29 Javascript
[02:33]2018 DOTA2亚洲邀请赛回顾视频 再次拾起那些美妙的时刻
2018/04/10 DOTA
通过python下载FTP上的文件夹的实现代码
2013/02/10 Python
Python随机生成彩票号码的方法
2015/03/05 Python
Python插件virtualenv搭建虚拟环境
2017/11/20 Python
python-tkinter之按钮的使用,开关方法
2019/06/11 Python
python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)
2020/04/07 Python
纯CSS和jQuery实现的在页面顶部显示的进度条效果2例(仿手机浏览器进度条效果)
2014/04/16 HTML / CSS
详解Canvas 实现炫丽的粒子运动效果(粒子生成文字)
2018/02/01 HTML / CSS
FOREO官方网站:LUNA露娜洁面仪
2016/11/28 全球购物
Skyscanner英国:苏格兰的全球三大领先航班搜索服务之一
2017/11/09 全球购物
银行见习期自我鉴定
2014/01/29 职场文书
教师产假请假条
2014/04/10 职场文书
幼儿园植树节活动总结
2014/07/04 职场文书
爱心募捐感谢信
2015/01/22 职场文书
六一领导慰问欢迎词
2015/01/26 职场文书
高中生社会实践心得体会
2016/01/14 职场文书
Windows server 2012 配置Telnet以及用法详解
2022/04/28 Servers