您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Python中如何實現tkinter下拉列表框,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
代碼如下
import tkinter from tkinter import ttk def go(*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("<<ComboboxSelected>>",go) #綁定事件,(下拉列表框被選中時,綁定go()函數) comboxlist.pack() win.mainloop() #進入消息循環
補充知識:Python GUI 之 Combobox 學習
1. 序言
本章介紹tkinter.ttk的Combobox控件。
2. 環境信息
********************************
本系列運行平臺:Windows10 64bit
Python 版本:3.7
********************************
3. Combobox
Combobox為下拉列表控件,它可以包含一個或多個文本項(text item),可以設置為單選或多選。使用方式為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函數(方法)。
下拉列表的虛擬事件是 "<<ComboboxSelected>>"。
4. 實例
實例1
from tkinter import * from tkinter import ttk #Create an instance win = Tk() win.title("Learn Combobox") #create a Label lb1 = 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 type data = ["a","b","c"] value = StringVar() #Create a combobox, and tighter it to value cbx_1 = ttk.Combobox(win, width = 12, height = 8, textvariable = value, postcommand = show_select_1) cbx_1.grid(column = 0, row = 1) #add data to combobox cbx_1["values"] = data #====================================================================================================== #create a Label lb2 = 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 type data2 = ["a2","b2","c2","d2","e2"] #Create a combobox, and tighter it to value cbx_2 = ttk.Combobox(win, width = 12, height = 8) cbx_2.grid(column = 0, row = 5) #set cbx_2 as readonly cbx_2.configure(state = "readonly") #add data to combobox cbx_2["values"] = data2 #set the initial data [index =2] to shows up when win generated cbx_2.current(2) #bind a event cbx_2.bind("<<ComboboxSelected>>", show_data_2) win.mainloop()
關于“Python中如何實現tkinter下拉列表框”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。