最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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 組件的時候,它是空的,所以第一件要做的事就是添加一行或多行文本進(jìn)去。我們使用 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)然你也可以刪除指定的項目,下邊例子使用一個獨(dú)立按鈕來刪除 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)實(shí)現(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 沒有獲得焦點(diǎn)的時候高亮邊框的顏色
2. 默認(rèn)值由系統(tǒng)指定,通常是標(biāo)準(zhǔn)背景顏色
highlightcolor1. 指定當(dāng) Listbox 獲得焦點(diǎn)的時候高亮邊框的顏色
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)實(shí)現(xiàn))
3. 默認(rèn)是 "browse"
setgrid1. 指定一個布爾類型的值,決定是否啟用網(wǎng)格控制
2. 默認(rèn)值是 False
takefocus1. 指定該組件是否接受輸入焦點(diǎn)(用戶可以通過 tab 鍵將焦點(diǎn)轉(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 是文本的實(shí)際寬度(像素為單位)
-- 如果指向的選項是不可見的,那么返回值是 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)
-- 使用這種方式來實(shí)現(xiàn) Listbox 內(nèi)容的滾動
-- 需要將鼠標(biāo)按鈕事件及當(dāng)前鼠標(biāo)位置綁定到 scan_mark(x, y) 方法,然后再將 <motion> 事件及當(dāng)前鼠標(biāo)位置綁定到 scan_dragto(x, y) 方法,就可以實(shí)現(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ù)的位置下一個錨點(diǎn),此后你就可以通過特殊索引 "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 選項來實(shí)現(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 選項來實(shí)現(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字符串str超詳細(xì)詳解(適合新手!)

    Python字符串str超詳細(xì)詳解(適合新手!)

    str函數(shù)是Python的內(nèi)置函數(shù),它將參數(shù)轉(zhuǎn)換成字符串類型,即人適合閱讀的形式,下面這篇文章主要給大家介紹了關(guān)于Python字符串str超詳細(xì)詳解的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • Python中文編碼知識點(diǎn)

    Python中文編碼知識點(diǎn)

    在本篇文章里小編給大家分享了關(guān)于Python中文編碼的相關(guān)知識點(diǎn)以及對應(yīng)實(shí)例內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2019-02-02
  • 詳解numpy.ndarray.reshape()函數(shù)的參數(shù)問題

    詳解numpy.ndarray.reshape()函數(shù)的參數(shù)問題

    這篇文章主要介紹了詳解numpy.ndarray.reshape()函數(shù)的參數(shù)問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • python 爬蟲 批量獲取代理ip的實(shí)例代碼

    python 爬蟲 批量獲取代理ip的實(shí)例代碼

    今天小編就為大家分享一篇python 爬蟲 批量獲取代理ip的實(shí)例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python PyQt5整理介紹

    Python PyQt5整理介紹

    PyQt5 是Digia的一套Qt5應(yīng)用框架與python的結(jié)合,同時支持2.x和3.x。這篇文章給大家整理了關(guān)于Python PyQt5的相關(guān)知識,感興趣的朋友一起看看吧
    2020-04-04
  • 深入解析Python中函數(shù)的參數(shù)與作用域

    深入解析Python中函數(shù)的參數(shù)與作用域

    這篇文章主要介紹了Python中函數(shù)的參數(shù)與作用域,是Python入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2016-03-03
  • Python中文字符串截取問題

    Python中文字符串截取問題

    web應(yīng)用難免會截取字符串的需求,Python中截取英文很容易,但是截取utf-8的中文機(jī)會截取一半導(dǎo)致一些不是亂碼的亂碼.其實(shí)utf8截取很簡單,這里記下來分享給大家
    2015-06-06
  • Python?paddleocr快速使用及參數(shù)配置詳解

    Python?paddleocr快速使用及參數(shù)配置詳解

    PaddleOCR是基于PaddlePaddle深度學(xué)習(xí)框架的開源OCR工具,但它提供了推理模型/訓(xùn)練模型/預(yù)訓(xùn)練模型,用戶可以直接使用推理模型進(jìn)行識別,也可以對訓(xùn)練模型或預(yù)訓(xùn)練模型進(jìn)行再訓(xùn)練,這篇文章主要介紹了Python?paddleocr快速使用及參數(shù)詳解,需要的朋友可以參考下
    2024-06-06
  • Django 響應(yīng)數(shù)據(jù)response的返回源碼詳解

    Django 響應(yīng)數(shù)據(jù)response的返回源碼詳解

    這篇文章主要介紹了Django 響應(yīng)數(shù)據(jù)response的返回源碼詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • 使用Python編寫一個桌面便簽應(yīng)用

    使用Python編寫一個桌面便簽應(yīng)用

    ChatGPT的編程能力也不差,本文將一步一步提出要求,讓ChatGPT根據(jù)我們的要求,編寫出一個可用的,可打包運(yùn)行的桌面便簽,感興趣的可以了解一下
    2023-06-06

最新評論

三台县| 五华县| 五莲县| 莱州市| 仙桃市| 星座| 大理市| 富平县| 抚顺市| 浑源县| 桃源县| 思南县| 黔南| 政和县| 桂林市| 安新县| 射阳县| 南澳县| 三台县| 天全县| 双江| 扬州市| 鄱阳县| 公安县| 蓬安县| 阳西县| 长顺县| 三原县| 汉阴县| 曲松县| 乌鲁木齐县| 平乐县| 崇阳县| 汤阴县| 潜山县| 池州市| 文登市| 敖汉旗| 娱乐| 成都市| 黄山市|