Python 窗体(tkinter)下拉列表框(Combobox)实例
废话不多说,看代码吧!
importtkinter
fromtkinterimportttk
defgo(*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("<>",go)#绑定事件,(下拉列表框被选中时,绑定go()函数)
comboxlist.pack()
win.mainloop()#进入消息循环
补充知识:PythonGUI之Combobox学习
1.序言
本章介绍tkinter.ttk的Combobox控件。
2.环境信息
********************************
本系列运行平台:Windows1064bit
Python版本:3.7
********************************
3.Combobox
Combobox为下拉列表控件,它可以包含一个或多个文本项(textitem),可以设置为单选或多选。使用方式为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函数(方法)。
下拉列表的虚拟事件是"<
4.实例
实例1
fromtkinterimport*
fromtkinterimportttk
#Createaninstance
win=Tk()
win.title("LearnCombobox")
#createaLabel
lb1=Label(win,text="Belowisacombobox1",font="tahoma12normal")
lb1.grid(column=0,row=0,padx=8,pady=4)
defshow_select_1():
print("post_command:show_select")
print(value.get())
#Definetkinterdatatype
data=["a","b","c"]
value=StringVar()
#Createacombobox,andtighterittovalue
cbx_1=ttk.Combobox(win,width=12,height=8,textvariable=value,postcommand=show_select_1)
cbx_1.grid(column=0,row=1)
#adddatatocombobox
cbx_1["values"]=data
#======================================================================================================
#createaLabel
lb2=Label(win,text="Belowisacombobox2",font="tahoma12normal")
lb2.grid(column=0,row=4,padx=8,pady=4)
defshow_data_2(*args):
print("Event:ComboboxSelected")
print(cbx_2.get())
#Definetkinterdatatype
data2=["a2","b2","c2","d2","e2"]
#Createacombobox,andtighterittovalue
cbx_2=ttk.Combobox(win,width=12,height=8)
cbx_2.grid(column=0,row=5)
#setcbx_2asreadonly
cbx_2.configure(state="readonly")
#adddatatocombobox
cbx_2["values"]=data2
#settheinitialdata[index=2]toshowsupwhenwingenerated
cbx_2.current(2)
#bindaevent
cbx_2.bind("<>",show_data_2)
win.mainloop()
以上这篇Python窗体(tkinter)下拉列表框(Combobox)实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。