立即学习:https://edu.csdn.net/course/play/19711/343121?utm_source=blogtoedu
1.下拉列表Combobox:与Listbox相比,下拉列表是一次只是显示一项内容,适用于布局紧张的情况下,而Listbox则是将所有的内容铺开来展示
2.关键代码
1)创建下拉列表代码
self.combobox_ = tkinter.ttk.Combobox(self.frame,#设置下拉列表显示的区域values = self.cities#定义下拉列表的菜单内容项,是一个元组)
2)绑定事件的代码(注意区别,这里的事件命令是ComboboxSelected)
self.combobox_.bind("<<ComboboxSelected>>",self.combobox_handle)#为下拉列表绑定事件
3)获取下拉列表选中的内容代码
self.content.set("您所在的城市是:%s" % self.combobox_.get()) # 获得下拉列表的信息
3.完整代码
import tkinter#导入创建窗体的相关模块
import tkinter.ttk#导入创建窗体的相关模块
import osimage_path = r'C:\Users\jinlin\Desktop\python_further_study\GUI编程\resources' + os.sep + 'linlianqin.gif'#因为每个平台的分隔符不一样,所以用os.sep可以自动切换到相应平台的分隔符class Mainwindow():#创建窗口类def __init__(self):self.root = tkinter.Tk()#创建主体窗口self.root.title('linlianqin')#定义窗体的名字self.root.geometry('500x500')#定义窗体的初始大小self.root.maxsize(1200,1200)#设置窗口可以显示的最大尺寸self.combobox()self.root.mainloop()#显示窗口,这个代码一定要放在所有窗口设置的后面#-----------------创建一个下拉列表----------------------def combobox(self):self.frame = tkinter.Frame(self.root)self.label = tkinter.Label(self.frame,text = "请选择您所在的城市:")self.cities = ("上海","北京","广州","深圳")#定义下拉列表的菜单项内容self.combobox_ = tkinter.ttk.Combobox(self.frame,#设置下拉列表显示的区域values = self.cities#定义下拉列表的菜单内容项,是一个元组)self.content = tkinter.StringVar()self.show_label = tkinter.Label(self.root, textvariable=self.content,font = ("微软雅黑",20))self.combobox_.bind("<<ComboboxSelected>>",self.combobox_handle)#为下拉列表绑定事件self.label.grid(row = 0,column = 0,sticky = "w")self.combobox_.grid(row=0,column = 1)self.frame.pack(anchor = "w")self.show_label.pack()def combobox_handle(self,event):self.content.set("您所在的城市是:%s" % self.combobox_.get()) # 获得下拉列表的信息if __name__ == '__main__':Mainwindow()#将窗体类实例化