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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。