代碼示例:文章來源:http://www.zghlxwxcb.cn/news/detail-550087.html
import tkinter as tk #GUI庫
from tkinter import ttk
class test():
def __init__(self,win,PHYSN_TYPE,POS_NAME):
self.win=win
self.PHYSN_TYPE=PHYSN_TYPE
self.POS_NAME=POS_NAME
def my_GUI(self):
tk.Label(self.win, text='機(jī)具類型:', bd=3, relief='groove', width=16,anchor='e').grid(row=2,column=2,padx=5)
number = tk.StringVar() #是否選中
valus = ['mpos', '大POS', '電藍(lán)POS', '經(jīng)典藍(lán)POS'] #選項(xiàng)值設(shè)置
self.PHYSN_TYPE = ttk.Combobox(self.win, width=16,height=4, textvariable=number ,state='readonly')# 高度,下拉顯示的條目數(shù)量
self.PHYSN_TYPE.grid(row=2, column=3,columnspan=3)
self.PHYSN_TYPE['values']=valus
self.PHYSN_TYPE.current(1) # 設(shè)置下拉列表默認(rèn)顯示的值
self.PHYSN_TYPE.bind('<<ComboboxSelected>>', self.Chosen) #綁定選項(xiàng)(輸出選中內(nèi)容)
print(self.PHYSN_TYPE.current(),self.PHYSN_TYPE.get()) #輸出選項(xiàng)內(nèi)容
tk.Label(self.win, text='機(jī)具名稱:', bd=3, relief='groove', width=16,anchor='e').grid(row=3,column=2,padx=5)
number1 = tk.StringVar()
valus2 = ['00-小藍(lán)(MPos)','01-小藍(lán)-會員(Mpos)','02-大藍(lán)(大Pos)','03-炫藍(lán)(大Pos)','04-電藍(lán)(EPos)','05-經(jīng)典藍(lán)(大Pos)',
'06:Epos(4G版本)','07:大Pos(4G版)','08:EPos-Plus','09:大機(jī)虎力版','10:epos(買斷版)','11:大pos(買斷版)','12:epos(買斷版)']
self.POS_NAME=ttk.Combobox(self.win, width=16, textvariable=number1,height=5,values=valus2,state='readonly')
self.POS_NAME.grid(row=3, column=3,columnspan=3)
#self.POS_NAME.current(10) #設(shè)置下拉框內(nèi)默認(rèn)顯示第10個選擇(10為values的下標(biāo)值)
number1.set('09:大機(jī)虎力版') #設(shè)置下拉框內(nèi)默認(rèn)顯示內(nèi)容
print(self.POS_NAME.current(), self.POS_NAME.get())
self.POS_NAME.bind('<<ComboboxSelected>>', self.Chosen2)
#打印選項(xiàng)內(nèi)容
def Chosen(self,event):
print('機(jī)具類型:',self.PHYSN_TYPE.get())
print('機(jī)具類型:',self.PHYSN_TYPE.current())
print('機(jī)具名稱:', self.POS_NAME.current())
#-----機(jī)具類型關(guān)聯(lián)機(jī)具名稱選項(xiàng)框
if self.PHYSN_TYPE.current()==0:
self.POS_NAME.configure(values=['00-小藍(lán)(MPos)','01-小藍(lán)-會員(Mpos)'])
self.POS_NAME.current(0)
elif self.PHYSN_TYPE.current()==1:
self.POS_NAME.configure(values=['02-大藍(lán)(大Pos)','03-炫藍(lán)(大Pos)','07:大Pos(4G版)','09:大機(jī)虎力版','11:大pos(買斷版)'])
self.POS_NAME.current(0)
elif self.PHYSN_TYPE.current()==2:
self.POS_NAME.configure(values=['04-電藍(lán)(EPos)','06:Epos(4G版本)', '08:EPos-Plus','12:epos(買斷版)'])
self.POS_NAME.current(0)
elif self.PHYSN_TYPE.current()==3:
self.POS_NAME.configure(values=['05-經(jīng)典藍(lán)(大Pos)'])
self.POS_NAME.current(0)
def Chosen2(self,event):
print('機(jī)具名稱:',self.POS_NAME.get())
print('機(jī)具名稱:',self.POS_NAME.current())
win = tk.Tk() # 創(chuàng)建窗口
win.geometry('600x400') # 設(shè)置窗口大小
# win.config(background='pink')
win.title("TEST") # 創(chuàng)建窗口標(biāo)題
test(win,None,None).my_GUI()
win.mainloop() #運(yùn)行
效果如下圖所示:文章來源地址http://www.zghlxwxcb.cn/news/detail-550087.html
到了這里,關(guān)于python tkinter 下拉框(Combobox)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!