【PyQt5】QListWidget 使用方法

rockrabbit發表於2019-10-28

簡介

QListWidget是一個方便的類,它提供一個與QListView提供的列表檢視類似的列表檢視,但是具有一個用於新增和刪除專案的經典的基於專案的介面。QListWidget使用一個內部模型來管理列表中的每個QListWidgetItem

對於更靈活的列表檢視小部件,可以使用帶有標準模型的QListView類。QListWidget是一個方便的類,它提供一個與QListView提供的列表檢視類似的列表檢視,但是具有一個用於新增和刪除專案的經典的基於專案的介面。QListWidget使用一個內部模型來管理列表中的每個QListWidgetItem

對於更靈活的列表檢視小部件,可以使用帶有標準模型的QListView類。

QListWidget 官方文件 >

函式

函式名 描述 傳參 返回資料
addItem(item or label) 在列表尾部中新增 QListWidgetItem 物件或字串 QListWidgetItem or str
addItems(labels) 在列表尾部中新增 str 列表中的每條目 [str]
openPersistentEditor(item) 開始編輯 QListWidgetItem
closePersistentEditor(item) 結束編輯 QListWidgetItem
count() 列表條目數量 int
currentItem() 返回當前選中的條目 item QListWidgetItem
currentRow() 返回當前選中的條目 row int
editItem(item) 如果條目是可編輯的,則開始編輯該條目 QListWidgetItem
findItems(text, flags) 文字匹配返回匹配到的條目 text, flags [QListWidgetItem]
indexFromItem(item) 返回 QModelIndex 物件 QListWidgetItem QModelIndex
insertItem(row, item or label) 在列表位置插入 QListWidgetItem 物件或字串 int,QListWidgetItem or str
insertItems(row, labels) 在列表位置插入字串 str 列表中的每條目 int,[str]
isItemHidden(item) 官方不推薦使用
isItemSelected(item) 官方不推薦使用
isPersistentEditorOpen(item) 判斷是否開啟了編輯模式 QListWidgetItem bool
isSortingEnabled() 判斷是否開啟了排序模式 bool
item(row) 通過列表行找到 QListWidgetItem 物件 int QListWidgetItem
itemAt(p) 返回座標處的 item (int,int) or QPoint QListWidgetItem
itemFromIndex(index) 返回 QListWidgetItem 物件 QModelIndex QListWidgetItem
itemWidget(item) 返回 item 中的 Widget 物件,如果沒有返回 None QListWidgetItem Widget 物件
items(data) - - -
removeItemWidget(item) 移除 item 中的 Widget 物件 QListWidgetItem
row(item) 通過 QListWidgetItem 找到 row QListWidgetItem int
selectedItems() 返回當前選中的條目 多個 [QListWidgetItem]
setCurrentItem(item) 設定當前選中的條目 item QListWidgetItem
setCurrentRow(row) 設定當前選中的條目 row int
setItemHidden(item, hide) 官方不推薦使用
setItemSelected(item, select) 官方不推薦使用
setItemWidget(item, widget) item 設定 widget QListWidgetItem,Widget
setSortingEnabled(enable) 設定排序模式開關 bool
sortItems([order=Qt.AscendingOrder]) 預設按升序重新排列條目
takeItem(row) 移除列表條目 int
visualItemRect(item) 返回條目在列表的座標 與 尺寸 QListWidgetItem QRect

虛擬函式

函式名 描述
dropMimeData(index, data, action) 處理由外部拖放操作提供的資料,該操作以給定索引中的給定操作結束。如果模型可以處理資料和動作,則返回true 否則返回false
mimeData(items) 返回一個物件,該物件包含指定項的序列化描述。用於描述項的格式是從mimeTypes()函式獲得的
mimeTypes() 返回可用於描述 listwidget 項列表的 MIME 型別列表
supportedDropActions() 返回此檢視支援的拖放操作

函式名 描述
clear() 刪除檢視中的所有項,警告:所有專案將被永久刪除
scrollToItem(item[, hint=EnsureVisible]) 必要時滾動檢視以確保專案可見。hint指定操作後項的位置。

訊號

訊號名 觸發條件 返回資料
currentItemChanged(current, previous) 選中行發生了改變 當前 QListWidgetItem 物件,之前 QListWidgetItem物件
currentRowChanged(currentRow) 選中行發生了改變 當前行 row
currentTextChanged(currentRow) 選中行發生了改變 當前行 text
itemClicked(item) 點選列表中的條目時 QListWidgetItem 物件
itemChanged(item) 列表中有變化後 QListWidgetItem 物件
itemActivated(item) 連擊列表中的條目時 QListWidgetItem 物件
itemDoubleClicked(item) 雙擊列表中的條目時 QListWidgetItem 物件
itemEntered(item) 拖拽列表中的條目時 對應 QListWidgetItem 物件
itemPressed(item) 按下列表中的條目時 QListWidgetItem 物件
itemSelectionChanged() 選中行發生了改變

相關文章