立即學習: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()#將窗體類實例化
?