Python之tkinter組合框Combobox用法及說明
組合框 Combobox 簡介
Combobox 可以翻譯為組合框,這是tkinter.ttk 的 Widget控件,它的特性與OptionMenu類似,可以說它是Entry和下拉菜單的組合,構(gòu)造方法如下
Combobox(父對象, options)
參數(shù):
- 第一個參數(shù):子組件,表示這個組合框?qū)⒔⒃谀囊粋€窗口內(nèi)
- 第二個參數(shù):
options,參數(shù)如下
| 參數(shù) | 含義 |
|---|---|
| textvariable | 可以設(shè)置Combobox 的變量值 |
| value | Combobox 的選項內(nèi)容以元組方式存在 |
建立 Combobox
在 Combobox()的構(gòu)造方法中,可以使用Value 參數(shù)建立選項內(nèi)容
例子:
import tkinter
import tkinter.ttk
root = tkinter.Tk()
var = tkinter.StringVar()
combobox = tkinter.ttk.Combobox(root, textvariable=var, value=('python', 'java', 'C', 'C++'))
combobox.pack(padx=5, pady=10)
root.mainloop()運行結(jié)果:

若是選項很多,可以使用獨立在Combobox()外來處理
例子:
combobox = tkinter.ttk.Combobox(root, textvariable=var)
combobox['value'] = ('python', 'java', 'C', 'C++')運行結(jié)果與上面相同
設(shè)置默認(rèn)選項 current()
例子:
import tkinter
import tkinter.ttk
root = tkinter.Tk()
var = tkinter.StringVar()
combobox = tkinter.ttk.Combobox(root, textvariable=var)
combobox['value'] = ('python', 'java', 'C', 'C++')
combobox.current(0)
combobox.pack(padx=5, pady=10)
root.mainloop()運行結(jié)果:

或者可以使用var.set()方法來設(shè)置,但是相比而言還是current()比較便利
例子:
var.set(combobox['value'][0]) # combobox.current(0)
運行結(jié)果一樣
獲得目前選項 get()
例子:
import tkinter
import tkinter.ttk
def show():
# 使用var.get()來獲得目前選項內(nèi)容
varLabel.set(var.get())
root = tkinter.Tk()
var = tkinter.StringVar()
combobox = tkinter.ttk.Combobox(root, textvariable=var)
combobox['value'] = ('python', 'java', 'C', 'C++')
combobox.current(0)
combobox.pack(padx=5, pady=10)
varLabel = tkinter.StringVar()
label = tkinter.Label(root, textvariable=varLabel, width=20, height=3, bg='lightblue', fg='red')
label.pack()
button = tkinter.Button(root, text='print', command=show)
button.pack()
root.mainloop()運行結(jié)果:

綁定 Combobox
當(dāng)Combobox 中的選項有變動時,會產(chǎn)生虛擬事件<<ComboboxSelected>>,可以使用這個特性將此事件綁定處理方法
例子:
import tkinter
import tkinter.ttk
def show(event):
# 使用var.get()來獲得目前選項內(nèi)容
varLabel.set(var.get())
root = tkinter.Tk()
var = tkinter.StringVar()
combobox = tkinter.ttk.Combobox(root, textvariable=var)
combobox['value'] = ('python', 'java', 'C', 'C++')
combobox.current(0)
combobox.bind('<<ComboboxSelected>>', show)
combobox.pack(side=tkinter.LEFT, padx=5, pady=10)
varLabel = tkinter.StringVar()
label = tkinter.Label(root, textvariable=varLabel, width=6, bg='lightblue', fg='red')
label.pack(side=tkinter.LEFT)
root.mainloop()運行結(jié)果:

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python可視化工具如何實現(xiàn)動態(tài)圖表
這篇文章主要介紹了Python可視化工具如何實現(xiàn)動態(tài)圖表,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-10-10
django第一個項目127.0.0.1:8000不能訪問的解決方案詳析
django項目服務(wù)啟動后無法通過127.0.0.1訪問,下面這篇文章主要給大家介紹了關(guān)于django第一個項目127.0.0.1:8000不能訪問的解決方案,需要的朋友可以參考下2022-10-10
Python爬蟲實現(xiàn)抓取電影網(wǎng)站信息并入庫
本文主要介紹了利用Python爬蟲實現(xiàn)抓取電影網(wǎng)站信息的功能,并將抓取到的信息入庫。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2022-02-02
在Tensorflow中實現(xiàn)leakyRelu操作詳解(高效)
這篇文章主要介紹了在Tensorflow中實現(xiàn)leakyRelu操作詳解(高效),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
Python數(shù)據(jù)可視化實現(xiàn)漏斗圖過程圖解
這篇文章主要介紹了Python數(shù)據(jù)可視化實現(xiàn)漏斗圖過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07
Python OpenCV視頻截取并保存實現(xiàn)代碼
這篇文章主要介紹了Python OpenCV視頻截取并保存實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-11-11
Python使用type動態(tài)創(chuàng)建類操作示例
這篇文章主要介紹了Python使用type動態(tài)創(chuàng)建類操作,結(jié)合實例形式詳細(xì)分析了Python使用type動態(tài)創(chuàng)建類的具體原理、實現(xiàn)方法與操作注意事項,需要的朋友可以參考下2020-02-02

