利用tkinter改變下拉列表(Combobox)的選項值
tkinter改變下拉列表(Combobox)的選項值
定義下拉列表:
# 此處省略父容器的定義 ...
??
# 定義下拉列表選項值集合
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)
# 設置下拉列表的默認值
self.Combo5.set(self.Combo5List[0])
改變Combobox的選項值:
# 新選項值的集合
index = ["a", "b", "c", "d"]
# 給Combobox的選項重新賦值
self.Combo5["value"] = index
# 設置默認值
self.Combo5.set(index[2])獲取Combobox選中項的值:
self.Combo5.get()
Tkinter Combobox控件
Combobox控件
通過前面內(nèi)容的介紹我們知道 Listbox 是一個供用戶從列表項中選擇相應條目的控件。但在有些情況下,比如列表的項目過多時,若使用列表控件,列出所有選項就會顯得界面格外臃腫,這時就需要用到 Combobox 控件,也就是下拉菜單控件(或稱復合框),該控件是列表控件的改進版,具有更加靈活的界面,因此其應用場景相比于前者要更加廣泛。
不過需要注意的是 Combobox 并不包含在 tkinter 模塊中,而是包含在tkinter.ttk子模塊中,因此若想使用 Combobox 控件,需要使用下面的導包方式:
from tkinter import ttk
語法格式:
cbox=Combobox(窗口對象,[參數(shù)列表])
Combobox 控件在形式雖然與列表控件存在不同,但它們的本質(zhì)是相同,因此屬性和方法是通用的。
對于 Combobox 控件而言,它常用的方法有兩個,分別是 get() 和 current(),前者表示獲取當前選中選項的內(nèi)容,后者表示獲取選中選項的索引值:
import tkinter
from tkinter import ttk # 導入ttk模塊,下拉菜單控件位于ttk子模塊中
win = tkinter.Tk()
win.geometry('400x250')
win.resizable(0,0)
cbox = ttk.Combobox(win)
# 使用 grid() 來控制控件的位置
cbox.grid(row = 1, sticky="NW")
# 設置下拉菜單中的值
cbox['value'] = ('C','C#','Go','Python','Java')
#通過 current() 設置下拉菜單選項的默認值
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é)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python實現(xiàn)的FTP通信客戶端與服務器端功能示例
這篇文章主要介紹了Python實現(xiàn)的FTP通信客戶端與服務器端功能,涉及Python基于socket的端口監(jiān)聽、文件傳輸?shù)认嚓P操作技巧,需要的朋友可以參考下2018-03-03
Python?Fire中兩種命令行參數(shù)靈活設置方式詳解
Python的Fire庫,一個用來生成命令行工具的的庫,這篇文章主要針對命令行參數(shù),補充兩種更加靈活的設置方式,感興趣的小伙伴可以跟隨小編一起學習一下2024-01-01
利用PyQt5模擬實現(xiàn)網(wǎng)頁鼠標移動特效
不知道大家有沒有發(fā)現(xiàn),博客園有些博客左側(cè)會有鼠標移動特效。通過移動鼠標,會形成類似蜘蛛網(wǎng)的特效,本文將用PyQt5實現(xiàn)這一特效,需要的可以參考一下2022-03-03

