利用tkinter改變下拉列表(Combobox)的選項(xiàng)值
tkinter改變下拉列表(Combobox)的選項(xiàng)值
定義下拉列表:
# 此處省略父容器的定義 ... ?? # 定義下拉列表選項(xiàng)值集合 self.Combo5List = ['0', '1', '2', '3'] # 定義下拉列表Combobox self.Combo5 = Combobox(self.Frame1, values=self.Combo5List, font=('宋體', 9), state='readonly') # 放置控件 self.Combo5.place(relx=0.39, rely=0.636, relwidth=0.063, relheight=0.08) # 設(shè)置下拉列表的默認(rèn)值 self.Combo5.set(self.Combo5List[0]) 改變Combobox的選項(xiàng)值: # 新選項(xiàng)值的集合 index = ["a", "b", "c", "d"] # 給Combobox的選項(xiàng)重新賦值 self.Combo5["value"] = index # 設(shè)置默認(rèn)值 self.Combo5.set(index[2])
獲取Combobox選中項(xiàng)的值:
self.Combo5.get()
Tkinter Combobox控件
Combobox控件
通過(guò)前面內(nèi)容的介紹我們知道 Listbox 是一個(gè)供用戶從列表項(xiàng)中選擇相應(yīng)條目的控件。但在有些情況下,比如列表的項(xiàng)目過(guò)多時(shí),若使用列表控件,列出所有選項(xiàng)就會(huì)顯得界面格外臃腫,這時(shí)就需要用到 Combobox 控件,也就是下拉菜單控件(或稱復(fù)合框),該控件是列表控件的改進(jìn)版,具有更加靈活的界面,因此其應(yīng)用場(chǎng)景相比于前者要更加廣泛。
不過(guò)需要注意的是 Combobox 并不包含在 tkinter 模塊中,而是包含在tkinter.ttk子模塊中,因此若想使用 Combobox 控件,需要使用下面的導(dǎo)包方式:
from tkinter import ttk
語(yǔ)法格式:
cbox=Combobox(窗口對(duì)象,[參數(shù)列表])
Combobox 控件在形式雖然與列表控件存在不同,但它們的本質(zhì)是相同,因此屬性和方法是通用的。
對(duì)于 Combobox 控件而言,它常用的方法有兩個(gè),分別是 get() 和 current(),前者表示獲取當(dāng)前選中選項(xiàng)的內(nèi)容,后者表示獲取選中選項(xiàng)的索引值:
import tkinter from tkinter import ttk # 導(dǎo)入ttk模塊,下拉菜單控件位于ttk子模塊中 win = tkinter.Tk() win.geometry('400x250') win.resizable(0,0) cbox = ttk.Combobox(win) # 使用 grid() 來(lái)控制控件的位置 cbox.grid(row = 1, sticky="NW") # 設(shè)置下拉菜單中的值 cbox['value'] = ('C','C#','Go','Python','Java') #通過(guò) current() 設(shè)置下拉菜單選項(xiàng)的默認(rèn)值 cbox.current(3) # 編寫回調(diào)函數(shù),綁定執(zhí)行事件,向文本插入選中文本 def func(event): text.insert('insert',cbox.get()+"\n") # 綁定下拉菜單事件 cbox.bind("<<ComboboxSelected>>",func) text = tkinter.Text(win) text.grid(pady = 5) win.mainloop()
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python使用Nocalhost并開啟debug調(diào)試的方法
Nocalhost是一種開發(fā)者工具,支持針對(duì)Kubernetes應(yīng)用程序進(jìn)行調(diào)試和部署,這篇文章主要介紹了Python怎么使用Nocalhost并開啟debug,需要的朋友可以參考下2023-04-04使用IPython或Spyder將省略號(hào)表示的內(nèi)容完整輸出
這篇文章主要介紹了使用IPython或Spyder將省略號(hào)表示的內(nèi)容完整輸出,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04python中Requests請(qǐng)求的安裝與常見用法
Requests是一常用的http請(qǐng)求庫(kù),它使用python語(yǔ)言編寫,可以方便地發(fā)送http請(qǐng)求,以及方便地處理響應(yīng)結(jié)果,下面這篇文章主要給大家介紹了關(guān)于python中Requests請(qǐng)求的安裝與常見用法的相關(guān)資料,需要的朋友可以參考下2022-07-07Linux上安裝Python的PIL和Pillow庫(kù)處理圖片的實(shí)例教程
這里我們來(lái)看一下在Linux上安裝Python的PIL和Pillow庫(kù)處理圖片的實(shí)例教程,包括一個(gè)使用Pillow庫(kù)實(shí)現(xiàn)批量轉(zhuǎn)換圖片的例子:2016-06-06使用Python實(shí)現(xiàn)監(jiān)控進(jìn)程是否有病毒
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)監(jiān)控進(jìn)程是否有病毒,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02python smtplib模塊自動(dòng)收發(fā)郵件功能(一)
這篇文章主要為大家詳細(xì)介紹了python smtplib模塊自動(dòng)收發(fā)郵件功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05Python操作excel的方法總結(jié)(xlrd、xlwt、openpyxl)
這篇文章主要給大家介紹了關(guān)于Python操作excel的一些方法,其中包括xlrd、xlwt、openpyxl的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09