废话不多说,看代码吧!
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)实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]