欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中Tkinter組件Listbox的具體使用

 更新時間:2022年01月11日 14:41:20   作者:來自江南的你  
本文主要介紹了Python中Tkinter組件Listbox的具體使用,Listbox組件用于顯示一個選擇列表,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

Listbox(列表框)組件用于顯示一個選擇列表。Listbox 只能包含文本項目,并且所有的項目都需要使用相同的字體和顏色。根據(jù)組件的配置,用戶可以從列表中選擇一個或多個選項。

何時使用 Listbox 組件?

Listbox 組件通常被用于顯示一組文本選項,Listbox 組件跟 Checkbutton 和 Radiobutton 組件類似,不過 Listbox 是以列表的形式來提供選項的(后兩個是通過按鈕的形式)。

用法

當(dāng)你創(chuàng)建一個 Listbox 組件的時候,它是空的,所以第一件要做的事就是添加一行或多行文本進去。我們使用 insert() 方法添加文本,該方法有兩個參數(shù):第一個參數(shù)是插入的索引號,第二個參數(shù)是插入的字符串。索引號通常是項目的序號(0 是列表中第一項的序號)。

不過你也可以使用一些特殊的索引號:比如 ACTIVE 表示選中的項目(如果 Listbox 允許多選,那么它表示最后一個被選中的項目);又如 END 表示 Listbox 的最后一行,所以當(dāng)要插入一個項目到列表時可以使用 END:

import tkinter as tk
 
master = tk.Tk()
 
# 創(chuàng)建一個空列表
theLB = tk.Listbox(master)
theLB.pack()
 
# 往列表里添加數(shù)據(jù)
for item in ["雞蛋", "鴨蛋", "鵝蛋", "李狗蛋"]:
        theLB.insert("end", item)
 
 
master.mainloop()

使用 delete() 方法刪除列表中的項目,最常用的操作是刪除列表中的所有項目(更新列表時你需要做的事兒):

listbox.delete(0, "end")
listbox.insert("end", newitem) #插入新的項目

當(dāng)然你也可以刪除指定的項目,下邊例子使用一個獨立按鈕來刪除 ACTIVE 狀態(tài)的項目:

import tkinter as tk
 
master = tk.Tk()
 
# 創(chuàng)建一個空列表
theLB = tk.Listbox(master)
theLB.pack()
 
# 往列表里添加數(shù)據(jù)
for item in ["雞蛋", "鴨蛋", "鵝蛋", "李狗蛋"]:
        theLB.insert("end", item)
        
theButton = tk.Button(master, text="刪除", command=lambda x=theLB: x.delete("active"))
theButton.pack()
 
master.mainloop()

     

Listbox 組件根據(jù) selectmode 選項提供了四種不同的選擇模式:"single"(單選)、"browse"(也是單選,但拖動鼠標(biāo)或通過方向鍵可以直接改變選項)、"multiple"(多選)和 "extended"(也是多選,但需要同時按住 Shift 鍵或 Ctrl 鍵或拖拽鼠標(biāo)實現(xiàn))。默認(rèn)是 "browse"。

參數(shù)

Listbox(master=None, **options) (class)

master -- 父組件

**options -- 組件選項,下方表格詳細(xì)列舉了各個選項的具體含義和用法:

選項含義
background1. 設(shè)置背景顏色
2. 默認(rèn)值由系統(tǒng)指定
bg跟 background 一樣
borderwidth1. 指定 Listbox 的邊框?qū)挾?br />2. 默認(rèn)值由系統(tǒng)指定,通常是 2 像素
bd跟 borderwidth 一樣
cursor1. 指定當(dāng)鼠標(biāo)在 Listbox 上飄過的時候的鼠標(biāo)樣式
2. 默認(rèn)值由系統(tǒng)指定
exportselection1. 指定選中的項目文本是否可以被復(fù)制到剪貼板
2. 默認(rèn)值是 True
3. 可以修改為 False 表示不允許復(fù)制項目文本
font1. 指定 Listbox 中文本的字體
2. 默認(rèn)值由系統(tǒng)指定
foreground1. 設(shè)置 Listbox 的文本顏色
2. 默認(rèn)值由系統(tǒng)指定
fg跟 foreground 一樣
height1. 設(shè)置 Listbox 顯示的行數(shù)(不是像素)
2. 默認(rèn)值是 10
highlightbackground1. 指定當(dāng) Listbox 沒有獲得焦點的時候高亮邊框的顏色
2. 默認(rèn)值由系統(tǒng)指定,通常是標(biāo)準(zhǔn)背景顏色
highlightcolor1. 指定當(dāng) Listbox 獲得焦點的時候高亮邊框的顏色
2. 默認(rèn)值由系統(tǒng)指定
highlightthickness1. 指定高亮邊框的寬度
2. 默認(rèn)值是 1
listvariable1. 指向一個 StringVar 類型的變量,該變量存放 Listbox 中所有的項目
2. 在 StringVar 類型的變量中,用空格分隔每個項目,例如 var.set("雞蛋 鴨蛋 鵝蛋 李狗蛋")
relief1. 指定邊框樣式
2. 默認(rèn)值是 "sunken"
selectbackground1. 指定當(dāng)某個項目被選中的時候背景顏色
2. 默認(rèn)值由系統(tǒng)指定
selectborderwidth1. 指定當(dāng)某個項目被選中的時候邊框的寬度
2. 默認(rèn)是由 selectbackground 指定的顏色填充,沒有邊框
3. 如果設(shè)置了此選項,Listbox 的每一項會相應(yīng)變大,被選中項為 "raised" 樣式
selectforeground1. 指定當(dāng)某個項目被選中的時候文本顏色
2. 默認(rèn)值由系統(tǒng)指定
selectmode1. 決定選擇的模式
2. 四種不同的選擇模式:"single"(單選)、"browse"(也是單選,但拖動鼠標(biāo)或通過方向鍵可以直接改變選項)、"multiple"(多選)和 "extended"(也是多選,但需要同時按住 Shift 鍵或 Ctrl 鍵或拖拽鼠標(biāo)實現(xiàn))
3. 默認(rèn)是 "browse"
setgrid1. 指定一個布爾類型的值,決定是否啟用網(wǎng)格控制
2. 默認(rèn)值是 False
takefocus1. 指定該組件是否接受輸入焦點(用戶可以通過 tab 鍵將焦點轉(zhuǎn)移上來)
2. 默認(rèn)值是 True
width1. 設(shè)置 Listbox 的寬度(單位是文本單元)
2. 文本單元是英文字母的平均寬度(所以如果該選項設(shè)置為 2,那么是無法容納"ww"這兩個寬度大于平均寬度的字母的)
3. 默認(rèn)值是 20
xscrollcommand1. 為 Listbox 組件添加一條水平滾動條
2. 將此選項與 Scrollbar 組件相關(guān)聯(lián)即可
yscrollcommand1. 為 Listbox 組件添加一條垂直滾動條
2. 將此選項與 Scrollbar 組件相關(guān)聯(lián)即可

方法

activate(index)
-- 將給定索引號對應(yīng)的選項激活(在其文本下方畫一條下劃線)

bbox(index)
-- 返回給定索引號對應(yīng)的選項的邊框
-- 返回值是一個以像素為單位的 4 元祖表示邊框:(xoffset, yoffset, width, height)
-- xoffset 和 yoffset 表示距離左上角的偏移位置
-- 返回的 width 是文本的實際寬度(像素為單位)
-- 如果指向的選項是不可見的,那么返回值是 None

curselection()
-- 返回一個元組,包含被選中的選項的序號(從 0 開始)
-- 如果沒有選中任何選項,返回一個空元組

delete(first, last=None)
-- 刪除參數(shù) first 到 last 范圍內(nèi)(包含 first 和 last)的所有選項
-- 如果忽略 last 參數(shù),表示刪除 first 參數(shù)指定的選項

get(first, last=None)
-- 返回一個元組,包含參數(shù) first 到 last 范圍內(nèi)(包含 first 和 last)的所有選項的文本
-- 如果忽略 last 參數(shù),表示返回 first 參數(shù)指定的選項的文本

index(index)
-- 返回與 index 參數(shù)相應(yīng)的選項的序號(例如 lb.index("end"))

insert(index, *elements)
-- 添加一個或多個項目到 Listbox 中
-- 使用 lb.insert("end") 添加新選項到末尾

itemcget(index, option)
-- 獲得 index 參數(shù)指定的項目對應(yīng)的選項(由 option 參數(shù)指定)

itemconfig(index, **options)
-- 設(shè)置 index 參數(shù)指定的項目對應(yīng)的選項(由可變參數(shù) **option 指定)

nearest(y)
-- 返回與給定參數(shù) y 在垂直坐標(biāo)上最接近的項目的序號

scan_dragto(x, y)
-- 見下方 scan_mark(x, y)

scan_mark(x, y)
-- 使用這種方式來實現(xiàn) Listbox 內(nèi)容的滾動
-- 需要將鼠標(biāo)按鈕事件及當(dāng)前鼠標(biāo)位置綁定到 scan_mark(x, y) 方法,然后再將 <motion> 事件及當(dāng)前鼠標(biāo)位置綁定到 scan_dragto(x, y) 方法,就可以實現(xiàn) Listbox 在當(dāng)前位置和 sacn_mack(x, y) 指定的位置 (x, y) 之間滾動

see(index)
-- 調(diào)整列表框的位置,使得 index 參數(shù)指定的選項是可見的

select_anchor(index)
-- 與 selection_anchor(index) 相同,見下方解釋

select_clear(first, last=None)
-- 與 selection_clear(first, last=None) 相同,見下方解釋

select_includes(index)
-- 與 selection_includes(index) 相同,見下方解釋

select_set(first, last=None)
-- 與 selection_set(first, last=None) 相同,見下方解釋

selection_anchor(index)
-- 在 index 參數(shù)的位置下一個錨點,此后你就可以通過特殊索引 "anchor" 訪問

selection_clear(first, last=None)
-- 取消參數(shù) first 到 last 范圍內(nèi)(包含 first 和 last)選項的選中狀態(tài)
-- 如果忽略 last 參數(shù),則只取消 first 參數(shù)指定選項的選中狀態(tài)

selection_includes(index)
-- 返回 index 參數(shù)指定的選項的選中狀態(tài)
-- 返回 1 表示選中,返回 0 表示未選中

selection_set(first, last=None)
-- 設(shè)置參數(shù) first 到 last 范圍內(nèi)(包含 first 和 last)選項為選中狀態(tài)
-- 如果忽略 last 參數(shù),則只設(shè)置 first 參數(shù)指定選項為選中狀態(tài)

size()
-- 返回 Listbox 組件中選項的數(shù)量

xview(*args)
-- 該方法用于在水平方向上滾動 Listbox 組件的內(nèi)容,一般通過綁定 Scollbar 組件的 command 選項來實現(xiàn)(具體操作參考:Scrollbar)
-- 如果第一個參數(shù)是 "moveto",則第二個參數(shù)表示滾動到指定的位置:0.0 表示最左端,1.0 表示最右端
--如果第一個參數(shù)是 "scroll",則第二個參數(shù)表示滾動的數(shù)量,第三個參數(shù)表示滾動的單位(可以是 "units" 或 "pages"),例如:xview("scroll", 3, "pages")表示向右滾動三行

xview_moveto(fraction)
-- 跟 xview("moveto", fraction) 一樣

xview_scroll(number, what)
-- 跟 xview("scroll", number, what) 一樣

yview(*args)
-- 該方法用于在垂直方向上滾動 Listbox 組件的內(nèi)容,一般通過綁定 Scollbar 組件的 command 選項來實現(xiàn)(具體操作參考:Scrollbar)
-- 如果第一個參數(shù)是 "moveto",則第二個參數(shù)表示滾動到指定的位置:0.0 表示最頂端,1.0 表示最底端
-- 如果第一個參數(shù)是 "scroll",則第二個參數(shù)表示滾動的數(shù)量,第三個參數(shù)表示滾動的單位(可以是 "units" 或 "pages"),例如:yview("scroll", 3, "pages") 表示向下滾動三頁

yview_moveto(fraction)
-- 跟 yview("moveto", fraction) 一樣

yview_scroll(number, what)
-- 跟 yview("scroll", number, what) 一樣

到此這篇關(guān)于Python中Tkinter組件Listbox的具體使用的文章就介紹到這了,更多相關(guān)Python Tkinter Listbox內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python處理菜單消息操作示例【基于win32ui模塊】

    Python處理菜單消息操作示例【基于win32ui模塊】

    這篇文章主要介紹了Python處理菜單消息操作,結(jié)合實例形式分析了Python基于win32ui模塊實現(xiàn)菜單的創(chuàng)建及菜單項響應(yīng)相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • pytorch模型轉(zhuǎn)onnx模型的方法詳解

    pytorch模型轉(zhuǎn)onnx模型的方法詳解

    很多時候有pytorch模型轉(zhuǎn)onnx模型的必要,比如用tensorRT加速的時候,下面這篇文章主要給大家介紹了關(guān)于pytorch模型轉(zhuǎn)onnx模型的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Python利用hashlib實現(xiàn)文件MD5碼的批量存儲

    Python利用hashlib實現(xiàn)文件MD5碼的批量存儲

    這篇文章主要為大家詳細(xì)介紹了如何用Python和hashlib實現(xiàn)文件MD5碼的批量存儲功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以學(xué)習(xí)一下
    2023-05-05
  • python實現(xiàn)簡單名片管理系統(tǒng)

    python實現(xiàn)簡單名片管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)簡單名片管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • python實現(xiàn)簡單猜單詞游戲

    python實現(xiàn)簡單猜單詞游戲

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)簡單猜單詞游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • 在Django的模板中使用認(rèn)證數(shù)據(jù)的方法

    在Django的模板中使用認(rèn)證數(shù)據(jù)的方法

    這篇文章主要介紹了在Django的模板中使用認(rèn)證數(shù)據(jù)的方法,Django是最具人氣的Python web開發(fā)框架,需要的朋友可以參考下
    2015-07-07
  • Python字典“鍵”和“值”的排序5種方法

    Python字典“鍵”和“值”的排序5種方法

    這篇文章主要介紹了5種Python字典“鍵”和“值”的排序方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • 對python中的iter()函數(shù)與next()函數(shù)詳解

    對python中的iter()函數(shù)與next()函數(shù)詳解

    今天小編就為大家分享一篇對python中的iter()函數(shù)與next()函數(shù)詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python中的super如何使用

    python中的super如何使用

    這篇文章主要介紹了python中的super,python中的super,名為超類,可以簡單的理解為執(zhí)行父類的__init__函數(shù),本文就著重看下super的具體作用,需要的朋友可以參考下
    2022-03-03
  • Python re.sub 反向引用的實現(xiàn)

    Python re.sub 反向引用的實現(xiàn)

    反向引用指的是在指定替換結(jié)果的過程中,可以引用原始字符串中的匹配到內(nèi)容,本文主要介紹了反向引用的設(shè)置方法,感興趣的可以了解一下
    2021-07-07

最新評論