溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python?tkinter列表框Listbox屬性怎么使用

發(fā)布時間:2022-08-01 09:24:57 來源:億速云 閱讀:181 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“Python tkinter列表框Listbox屬性怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Python tkinter列表框Listbox屬性怎么使用”吧!

前言:

列表框控件顯示多行文本,用戶可以選中一行或者多行。所有的文本只能使用一種字體,不能混合使用多種字體。

1 屬性

常用的參數(shù)列表如下:

Python?tkinter列表框Listbox屬性怎么使用

Python?tkinter列表框Listbox屬性怎么使用

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()

Python?tkinter列表框Listbox屬性怎么使用

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é)果:

Python?tkinter列表框Listbox屬性怎么使用

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é)果:

Python?tkinter列表框Listbox屬性怎么使用

1.4 cursor

鼠標(biāo)位于列表框區(qū)域時,鼠標(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時,列表框的文本顏色。

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é)果:

Python?tkinter列表框Listbox屬性怎么使用

1.6 exportselection

決定是否可以復(fù)制選中的文本內(nèi)容。如果exportselection=True,表示可以。exportselection=False,表示不可復(fù)制列表框中選中的選項。

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é)果:

Python?tkinter列表框Listbox屬性怎么使用

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é)果:

Python?tkinter列表框Listbox屬性怎么使用

設(shè)置列表框的高度。默認(rèn)是10行。

1.10 highlightbackground、highlightcolor和highlightthickness

設(shè)置列表框獲得或者失去輸入焦點(diǎn)時候的邊框顏色。這兩種邊框的寬度由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é)果:

Python?tkinter列表框Listbox屬性怎么使用

Python?tkinter列表框Listbox屬性怎么使用

1.11 listvariable

listvariable 可以與一個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é)果:

Python?tkinter列表框Listbox屬性怎么使用

說明:

  • (1)使用set(s)會取代以前的列表框中的內(nèi)容

  • (2)s是用空格分隔的字符串。多個空格會被認(rèn)為是1個。如果選項中需要有空格,請用引號把這個字符串括起來。比如”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é)果:

Python?tkinter列表框Listbox屬性怎么使用

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é)果:

Python?tkinter列表框Listbox屬性怎么使用

說明:可以看到間距明顯比不設(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é)果:

Python?tkinter列表框Listbox屬性怎么使用

1.16 selectmode

設(shè)定列表框中條目的選擇模式:

  • (1)tk.BROWSE: 可以通過鼠標(biāo)拖動的方式選擇條目。一次只能選中一行

  • (2)tk.SINGLE: 一次只能選中一個條目。不支持鼠標(biāo)拖動模式選擇。

  • (3)tk.MULTIPLE: 可以選擇多個條目。如果該條目已經(jīng)選中,再次點(diǎn)擊變?yōu)槲催x中

  • (4)tk.EXTENDED :支持使用如下模式選擇:

拖動選擇。鼠標(biāo)拖動,在鼠標(biāo)經(jīng)過的條目都被選中
Shift:先鼠標(biāo)點(diǎn)擊選中一個條目,然后按照shift鍵,鼠標(biāo)點(diǎn)擊另外的條目,則這2個條目之間的所有條目都被選中
Ctrl: 按住ctrl鍵,同時點(diǎn)擊一個條目,則該條目被選中。一次只能增加一個被選中的條目。如果該條目已經(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移動輸入焦點(diǎn)到列表框上。

1.18 state

設(shè)置列表框的狀態(tài)。有二種:DISABLED或者NORMAL。

1.19 width

設(shè)置列表框的寬度。默認(rèn)是20個字符。

1.20 xscrollcommand

設(shè)置水平滾動條。詳細(xì)的用法見yscrollcommand。

1.21 yscrollcommand

設(shè)置垂直滾動條。

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é)果:

Python?tkinter列表框Listbox屬性怎么使用

到此,相信大家對“Python tkinter列表框Listbox屬性怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI