Python 窗體(tkinter)下拉列表框(Combobox)實(shí)例
廢話不多說(shuō),看代碼吧!
import tkinterfrom tkinter import ttk def go(*args): #處理事件,*args表示可變參數(shù) print(comboxlist.get()) #打印選中的值 win=tkinter.Tk() #構(gòu)造窗體comvalue=tkinter.StringVar()#窗體自帶的文本,新建一個(gè)值comboxlist=ttk.Combobox(win,textvariable=comvalue) #初始化comboxlist['values']=('1','2','3','4')comboxlist.current(0) #選擇第一個(gè)comboxlist.bind('<<ComboboxSelected>>',go) #綁定事件,(下拉列表框被選中時(shí),綁定go()函數(shù))comboxlist.pack() win.mainloop() #進(jìn)入消息循環(huán)
補(bǔ)充知識(shí):Python GUI 之 Combobox 學(xué)習(xí)
1. 序言
本章介紹tkinter.ttk的Combobox控件。
2. 環(huán)境信息
********************************本系列運(yùn)行平臺(tái):Windows10 64bitPython 版本:3.7********************************
3. Combobox
Combobox為下拉列表控件,它可以包含一個(gè)或多個(gè)文本項(xiàng)(text item),可以設(shè)置為單選或多選。使用方式為ttk.Combobox(root,option...)。
常用的參數(shù)列表如下:
參數(shù)
描述
master
代表了父窗口
height
設(shè)置顯示高度、如果未設(shè)置此項(xiàng),其大小以適應(yīng)內(nèi)容標(biāo)簽
width
設(shè)置顯示寬度,如果未設(shè)置此項(xiàng),其大小以適應(yīng)內(nèi)容標(biāo)簽
state
可讀狀態(tài),如state= “readonly”
textvariable
設(shè)置textvariable屬性
一些常用的函數(shù):
函數(shù)
描述
get
返回制定索引的項(xiàng)值,如listbox.get(1);返回多個(gè)項(xiàng)值,返回元組,如listbox.get(0,2);返回當(dāng)前選中項(xiàng)的索引listbox.curselection()
values
設(shè)定下拉列表的內(nèi)容。如 data = ['a','b','c'], cbx['values'] = data
current(i)
指定下拉列表生成時(shí)顯示在列表值,i = index。如current(2),顯示列表中的第三個(gè)值
事件:
下拉列表沒(méi)有command函數(shù)(方法)。
下拉列表的虛擬事件是 '<<ComboboxSelected>>'。
4. 實(shí)例
實(shí)例1
from tkinter import *from tkinter import ttk #Create an instancewin = Tk()win.title('Learn Combobox') #create a Labellb1 = Label(win, text = 'Below is a combobox 1', font = 'tahoma 12 normal')lb1.grid(column = 0, row = 0, padx = 8, pady = 4) def show_select_1():print('post_command: show_select')print(value.get()) #Define tkinter data typedata = ['a','b','c']value = StringVar() #Create a combobox, and tighter it to valuecbx_1 = ttk.Combobox(win, width = 12, height = 8, textvariable = value, postcommand = show_select_1)cbx_1.grid(column = 0, row = 1) #add data to comboboxcbx_1['values'] = data #======================================================================================================#create a Labellb2 = Label(win, text = 'Below is a combobox 2', font = 'tahoma 12 normal')lb2.grid(column = 0, row = 4, padx = 8, pady = 4) def show_data_2(*args):print('Event: ComboboxSelected')print(cbx_2.get()) #Define tkinter data typedata2 = ['a2','b2','c2','d2','e2'] #Create a combobox, and tighter it to valuecbx_2 = ttk.Combobox(win, width = 12, height = 8)cbx_2.grid(column = 0, row = 5) #set cbx_2 as readonlycbx_2.configure(state = 'readonly') #add data to comboboxcbx_2['values'] = data2#set the initial data [index =2] to shows up when win generatedcbx_2.current(2) #bind a eventcbx_2.bind('<<ComboboxSelected>>', show_data_2) win.mainloop()
以上這篇Python 窗體(tkinter)下拉列表框(Combobox)實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. vue3+ts+elementPLus實(shí)現(xiàn)v-preview指令2. Xml簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理3. 使用Hangfire+.NET 6實(shí)現(xiàn)定時(shí)任務(wù)管理(推薦)4. 如何在jsp界面中插入圖片5. phpstudy apache開(kāi)啟ssi使用詳解6. jsp實(shí)現(xiàn)登錄驗(yàn)證的過(guò)濾器7. jsp文件下載功能實(shí)現(xiàn)代碼8. 詳解瀏覽器的緩存機(jī)制9. 爬取今日頭條Ajax請(qǐng)求10. xml中的空格之完全解說(shuō)
