Python?tkinter?列表框Listbox屬性詳情
前言:
列表框控件顯示多行文本,用戶可以選中一行或者多行。所有的文本只能使用一種字體,不能混合使用多種字體。
1 屬性
常用的參數(shù)列表如下:


1.1 activestyle
設(shè)置列表框被選中的文本行的顯示效果。有三種:
| underline: 下劃線 | |
| dotbox:點(diǎn)劃線虛框 | |
| none: 沒有顯示效果 |
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Listbox(root,activestyle='dotbox')
for i in range(1,11):
b1.insert(tk.END,i)
b1.pack()
root.mainloop()
1.2 background(bg)
設(shè)置列表框背景顏色:
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Listbox(root,bg='green')
for i in range(1,11):
b1.insert(tk.END,i)
b1.pack()
root.mainloop()結(jié)果:

1.3 borderwidth(bd)
設(shè)置列表框的邊框?qū)挾取?/p>
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Listbox(root,bd=10)
for i in range(1,11):
b1.insert(tk.END,i)
b1.pack()
root.mainloop()結(jié)果:

1.4 cursor
鼠標(biāo)位于列表框區(qū)域時(shí),鼠標(biāo)的形狀。詳細(xì)的cursor說明見3.3.6節(jié)。
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Listbox(root,cursor='spider')
for i in range(1,11):
b1.insert(tk.END,i)
b1.pack()
root.mainloop()1.5 disabledforeground
列表框的狀態(tài)為tk.DISABLED時(shí),列表框的文本顏色。
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Listbox(root,disabledforeground='red')
for i in range(1,11):
b1.insert(tk.END,i)
b1.pack()
b1.config(state=tk.DISABLED)
root.mainloop()結(jié)果:

1.6 exportselection
決定是否可以復(fù)制選中的文本內(nèi)容。如果exportselection=True,表示可以。exportselection=False,表示不可復(fù)制列表框中選中的選項(xiàng)。
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Listbox(root,exportselection=0)
for i in range(1,11):
b1.insert(tk.END,i)
b1.pack()
root.mainloop()1.7 font
設(shè)置列表框字體。所有的文本只能有一種字體,不能混合多種字體。具體的文本說明見3.3.3節(jié)。
1.8 foreground(fg)
設(shè)置列表框中的文本顏色。
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Listbox(root,fg='blue')
for i in range(1,11):
b1.insert(tk.END,i)
b1.pack()
root.mainloop()結(jié)果:

1.9 height
設(shè)置列表框的高度。單位是行。
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Listbox(root,height=5)
for i in range(1,11):
b1.insert(tk.END,i)
b1.pack()
root.mainloop()結(jié)果:

設(shè)置列表框的高度。默認(rèn)是10行。
1.10 highlightbackground、highlightcolor和highlightthickness
設(shè)置列表框獲得或者失去輸入焦點(diǎn)時(shí)候的邊框顏色。這兩種邊框的寬度由highlightthickness設(shè)置。
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Listbox(root,highlightbackground='blue',
highlightcolor='red',highlightthickness=10)
for i in range(1,11):
b1.insert(tk.END,i)
b1.pack()
root.mainloop()結(jié)果:


1.11 listvariable
listvariable 可以與一個(gè)tk.StringVar()變量相關(guān)聯(lián)。可以通過變量的get()方法,獲得列表框中的所有的文本內(nèi)容。也可以通過set(s)的方法來設(shè)置列表框中的內(nèi)容。
#獲得列表框的內(nèi)容
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
content=tk.StringVar()
b1=tk.Listbox(root,listvariable=content)
for i in range(1,11):
b1.insert(tk.END,i)
b1.pack()
print(content.get())
root.mainloop()#設(shè)置列表框中的內(nèi)容
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
content=tk.StringVar()
b1=tk.Listbox(root,listvariable=content)
for i in range(1,11):
b1.insert(tk.END,i)
b1.pack()
def lst():
content.set('abc def "c c" c bbb')
b2=tk.Button(root,text='Set',command=lst)
b2.pack()
root.mainloop()結(jié)果:

說明:
- (1)使用set(s)會(huì)取代以前的列表框中的內(nèi)容
- (2)s是用空格分隔的字符串。多個(gè)空格會(huì)被認(rèn)為是1個(gè)。如果選項(xiàng)中需要有空格,請(qǐng)用引號(hào)把這個(gè)字符串括起來。比如”c c”。
1.12 relief
設(shè)置列表框邊框的3D效果。
1.13 selectbackground
選中條目的背景顏色。默認(rèn)值是藍(lán)色。
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Listbox(root,selectbackground='red')
for i in range(1,11):
b1.insert(tk.END,i)
b1.pack()
root.mainloop()結(jié)果:

1.14 selectborderwidth
表示選中的矩形的邊框?qū)挾取?/p>
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Listbox(root,selectborderwidth=5)
for i in range(1,11):
b1.insert(tk.END,i)
b1.pack()
root.mainloop()結(jié)果:

說明:可以看到間距明顯比不設(shè)置selectborderwidth加大了。
1.15 selectforeground
選中后的文本顏色。目前是反白的顯示,也可以通過selectforeground來設(shè)定。
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Listbox(root,selectforeground='red')
for i in range(1,11):
b1.insert(tk.END,i)
b1.pack()
root.mainloop()結(jié)果:

1.16 selectmode
設(shè)定列表框中條目的選擇模式:
- (1)tk.BROWSE: 可以通過鼠標(biāo)拖動(dòng)的方式選擇條目。一次只能選中一行
- (2)tk.SINGLE: 一次只能選中一個(gè)條目。不支持鼠標(biāo)拖動(dòng)模式選擇。
- (3)tk.MULTIPLE: 可以選擇多個(gè)條目。如果該條目已經(jīng)選中,再次點(diǎn)擊變?yōu)槲催x中
- (4)tk.EXTENDED :支持使用如下模式選擇:
拖動(dòng)選擇。鼠標(biāo)拖動(dòng),在鼠標(biāo)經(jīng)過的條目都被選中
Shift:先鼠標(biāo)點(diǎn)擊選中一個(gè)條目,然后按照shift鍵,鼠標(biāo)點(diǎn)擊另外的條目,則這2個(gè)條目之間的所有條目都被選中
Ctrl: 按住ctrl鍵,同時(shí)點(diǎn)擊一個(gè)條目,則該條目被選中。一次只能增加一個(gè)被選中的條目。如果該條目已經(jīng)被選中,則狀體變?yōu)槲催x中。
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1=tk.Listbox(root,selectmode=tk.SINGLE)
for i in range(1,11):
b1.insert(tk.END,i)
b1.pack()
root.mainloop()1.17 takefocus
設(shè)置是否可以通過Tab移動(dòng)輸入焦點(diǎn)到列表框上。
1.18 state
設(shè)置列表框的狀態(tài)。有二種:DISABLED或者NORMAL。
1.19 width
設(shè)置列表框的寬度。默認(rèn)是20個(gè)字符。
1.20 xscrollcommand
設(shè)置水平滾動(dòng)條。詳細(xì)的用法見yscrollcommand。
1.21 yscrollcommand
設(shè)置垂直滾動(dòng)條。
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
content=tk.StringVar()
content.set('1 2 3 jjjjjjjjjjjjjjjjjjjjjjjjjjj\
jjjjjjjjjjjjjj 4 5 6 7 8 9 10')
f=tk.Frame(root)
s1 = tk.Scrollbar(f,orient=tk.HORIZONTAL)
s2 = tk.Scrollbar(f,orient=tk.VERTICAL)
b1 = tk.Listbox(f,width=10,height=5,listvariable=content,
xscrollcommand=s1.set,yscrollcommand=s2.set)
s1.pack(side=tk.BOTTOM,fill=tk.X)
s1.config(command=b1.xview)
s2.pack(side=tk.RIGHT,fill=tk.Y)
s2.config(command=b1.yview)
b1.pack()
f.pack()
root.mainloop()結(jié)果:

到此這篇關(guān)于Python tkinter 列表框Listbox屬性詳情的文章就介紹到這了,更多相關(guān)Python 列表框Listbox內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python 窗體(tkinter)下拉列表框(Combobox)實(shí)例
- python使用tkinter模塊實(shí)現(xiàn)文件選擇功能
- python圖形用戶界面tkinter之按鈕Button的使用說明
- Python使用Tkinter?GUI實(shí)現(xiàn)輸入驗(yàn)證功能
- Python Tkinter GUI編程實(shí)現(xiàn)Frame切換
- Python+Tkinter制作專屬圖形化界面
- Python中Tkinter組件Listbox的具體使用
- Python wxPython庫(kù)使用wx.ListBox創(chuàng)建列表框示例
- wxPython中l(wèi)istbox用法實(shí)例詳解
相關(guān)文章
Python編寫車票訂購(gòu)系統(tǒng)?Python實(shí)現(xiàn)快遞收費(fèi)系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Python編寫車票訂購(gòu)系統(tǒng),Python實(shí)現(xiàn)快遞收費(fèi)系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08
淺談python中scipy.misc.logsumexp函數(shù)的運(yùn)用場(chǎng)景
下面小編就為大家?guī)硪黄獪\談python中scipy.misc.logsumexp函數(shù)的運(yùn)用場(chǎng)景。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06
python實(shí)現(xiàn)在目錄中查找指定文件的方法
這篇文章主要介紹了python實(shí)現(xiàn)在目錄中查找指定文件的方法,通過模糊查找與精確查找兩個(gè)實(shí)例較為詳細(xì)的闡述了文件查找的方法,是非常實(shí)用的技巧,需要的朋友可以參考下2014-11-11
python實(shí)現(xiàn)Thrift服務(wù)端的方法
這篇文章主要介紹了python實(shí)現(xiàn)Thrift服務(wù)端的方法,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-04-04
Vim及其用于Python的自動(dòng)補(bǔ)全功能
Vim是一款功能強(qiáng)大的文本編輯器,常被作為Python開發(fā)環(huán)境的首選,這篇文章主要介紹了用于?Python?的?Vim?自動(dòng)完成,需要的朋友可以參考下2023-09-09
Python隨機(jī)數(shù)種子(random seed)的使用
在科學(xué)技術(shù)和機(jī)器學(xué)習(xí)等其他算法相關(guān)任務(wù)中,我們經(jīng)常需要用到隨機(jī)數(shù),本文就詳細(xì)的介紹一下Python隨機(jī)數(shù)種子,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07

