您好,登錄后才能下訂單哦!
本篇內容主要講解“Python tkinter列表框Listbox屬性怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python tkinter列表框Listbox屬性怎么使用”吧!
前言:
列表框控件顯示多行文本,用戶可以選中一行或者多行。所有的文本只能使用一種字體,不能混合使用多種字體。
常用的參數列表如下:
設置列表框被選中的文本行的顯示效果。有三種:
underline: 下劃線 | |
dotbox:點劃線虛框 | |
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()
設置列表框背景顏色:
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()
結果:
設置列表框的邊框寬度。
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()
結果:
鼠標位于列表框區域時,鼠標的形狀。詳細的cursor說明見3.3.6節。
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()
列表框的狀態為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()
結果:
決定是否可以復制選中的文本內容。如果exportselection=True,表示可以。exportselection=False,表示不可復制列表框中選中的選項。
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()
設置列表框字體。所有的文本只能有一種字體,不能混合多種字體。具體的文本說明見3.3.3節。
設置列表框中的文本顏色。
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()
結果:
設置列表框的高度。單位是行。
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()
結果:
設置列表框的高度。默認是10行。
設置列表框獲得或者失去輸入焦點時候的邊框顏色。這兩種邊框的寬度由highlightthickness設置。
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()
結果:
listvariable 可以與一個tk.StringVar()變量相關聯。可以通過變量的get()方法,獲得列表框中的所有的文本內容。也可以通過set(s)的方法來設置列表框中的內容。
#獲得列表框的內容 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()
#設置列表框中的內容 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()
結果:
說明:
(1)使用set(s)會取代以前的列表框中的內容
(2)s是用空格分隔的字符串。多個空格會被認為是1個。如果選項中需要有空格,請用引號把這個字符串括起來。比如”c c”。
設置列表框邊框的3D效果。
選中條目的背景顏色。默認值是藍色。
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()
結果:
表示選中的矩形的邊框寬度。
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()
結果:
說明:可以看到間距明顯比不設置selectborderwidth加大了。
選中后的文本顏色。目前是反白的顯示,也可以通過selectforeground來設定。
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()
結果:
設定列表框中條目的選擇模式:
(1)tk.BROWSE: 可以通過鼠標拖動的方式選擇條目。一次只能選中一行
(2)tk.SINGLE: 一次只能選中一個條目。不支持鼠標拖動模式選擇。
(3)tk.MULTIPLE: 可以選擇多個條目。如果該條目已經選中,再次點擊變為未選中
(4)tk.EXTENDED :支持使用如下模式選擇:
拖動選擇。鼠標拖動,在鼠標經過的條目都被選中
Shift:先鼠標點擊選中一個條目,然后按照shift鍵,鼠標點擊另外的條目,則這2個條目之間的所有條目都被選中
Ctrl: 按住ctrl鍵,同時點擊一個條目,則該條目被選中。一次只能增加一個被選中的條目。如果該條目已經被選中,則狀體變為未選中。
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()
設置是否可以通過Tab移動輸入焦點到列表框上。
設置列表框的狀態。有二種:DISABLED或者NORMAL。
設置列表框的寬度。默認是20個字符。
設置水平滾動條。詳細的用法見yscrollcommand。
設置垂直滾動條。
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()
結果:
到此,相信大家對“Python tkinter列表框Listbox屬性怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。