Python Tkinter Listbox列表框


Python Tkinter Listbox列表框

  1. 列表框小部件用於向用戶顯示列表項。我們只能在列表框中放置文本項,並且所有文本項都包含相同的字體和顏色,用戶可以根據配置從列表中選擇一個或多個項目

  2. 語法

listbix = Listbox(parent, options)
  1. 可能的選項列表
選項 描述
bg 小部件的背景顏色
bd 它代表邊界的大小,默認值為2像素
cursor 鼠標指針看起來像點,箭頭等光標類型
font 列表框項的字體類型
fg 文字的顏色
width 它表示小部件的寬度(以字符為單位)
height 它表示列表框中顯示的行數,默認值為10
highlightcolor 窗口小部件處於焦點時的列表框項目的顏色
highlightthickness 高亮的亮度
relief 邊框的類型, 默認為SUNKEN
selectbackground 用於顯示所選文本的背景顏色
selectmode 用於確定可從列表中選擇的項目數,它可以設置為BROWSE,SINGLE,MULTIPLE,EXTENDED
xscrollcommand 用於讓用戶水平滾動列表框
yscrollcommand 用於讓用戶垂直滾動列表框
  • 方法
    • 有與 Listbox 關聯的以下方法
方法 描述
activate(index) 用於選擇指定索引處的行
curselection() 它返回一個元組,其中包含所選元素的行號,從0開始計數。如果未選擇任何元素,則返回一個空元組
delete(first,last = None) 用於刪除給定范圍內的行
get(first,last = None) 用於獲取給定范圍內存在的列表項
index(i) 用於將具有指定索引的行放在窗口小部件的頂部
insert(index,* elements) 用於在指定索引之前插入具有指定數量元素的新行
nearest(y) 它返回列表框小部件的y坐標的最近一行的索引
see(index) 它用於調整列表框的位置,使索引指定的行可見
size() 它返回Listbox小部件中存在的行數
xview() 這用於使小部件可水平滾動
xview_moveto(fraction) 它用於使列表框可以按列表框中存在的最長行的寬度的一小部分水平滾動
xview_scroll(number,what) 它用於使列表框可以按指定的字符數水平滾動
yview() 它允許列表框可以垂直滾動
yview_moveto(fraction) 它用於使列表框可以按列表框中存在的最長行的寬度分數垂直滾動
yview_scroll(number,what) 它用於使列表框可以按指定的字符數垂直滾動
  1. 示例一
from tkinter import *  
root = Tk()  
root.geometry("200x250")  
lbl = Label(root,text = "A list of favourite countries...")  
listbox = Listbox(root)  

listbox.insert(1,"India")  
listbox.insert(2, "USA")  
listbox.insert(3, "Japan")  
listbox.insert(4, "Austrelia")  
lbl.pack()  
listbox.pack()  
root.mainloop()
  • 輸出

  1. 示例二:從列表中刪除活動項目
from tkinter import *  
root = Tk()  
root.geometry("200x250")  
lbl = Label(root,text = "A list of favourite countries...")  
listbox = Listbox(root)

listbox.insert(1,"India")  
listbox.insert(2, "USA")  
listbox.insert(3, "Japan")  
listbox.insert(4, "Austrelia")

#this button will delete the selected item from the list   
btn = Button(root, text = "delete", command = lambda listbox=listbox: listbox.delete(ANCHOR))  
lbl.pack()  
listbox.pack()  
btn.pack()  
root.mainloop()
  • 輸出


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM