怎么在pyqt5中使用QlistView顯示列表?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
1、簡介
QlistView類用于展示數據,它的子類是QListWIdget。QListView是基于模型(Model)的,需要程序來建立模型,然后再保存數據
QListWidget是一個升級版本的QListView,它已經建立了一個數據儲存模型(QListWidgetItem),直接調用addItem()函數,就可以添加條目(Item)
QListView類中常用的方法如表
| 方法 | 描述 |
|---|---|
| setModel() | 用來設置View所關聯的Model,可以使用Python原生的list作為數據源Model |
| selectedItem() | 選中Model的條目 |
| isSelected() | 判斷Model中的某條目是否被選中 |
QListView的常用信號
| 信號 | 含義 |
|---|---|
| clicked | 當單擊某項時,信號被發射 |
| doubleClicked | 當雙擊某項時,信號被發射 |

2、功能實現
# -*- coding: utf-8 -*-
'''
【簡介】
PyQt5中 QListView 例子
'''
from PyQt5.QtWidgets import QApplication, QWidget , QVBoxLayout , QListView, QMessageBox
from PyQt5.QtCore import QStringListModel
import sys
class ListViewDemo(QWidget):
def __init__(self, parent=None):
super(ListViewDemo, self).__init__(parent)
self.setWindowTitle("QListView 例子")
self.resize(300, 270)
layout = QVBoxLayout()
listView = QListView() #創建一個listview對象
slm = QStringListModel(); #創建mode
self.qList = ['Item 1','Item 2','Item 3','Item 4' ] #添加的數組數據
slm.setStringList(self.qList) #將數據設置到model
listView.setModel(slm )##綁定 listView 和 model
listView.clicked.connect(self.clickedlist) #listview 的點擊事件
layout.addWidget( listView )#將list view添加到layout
self.setLayout(layout) #將lay 添加到窗口
def clickedlist(self, qModelIndex):
QMessageBox.information(self, "QListView", "你選擇了: "+ self.qList[qModelIndex.row()])
print("點擊的是:" + str(qModelIndex.row()))
if __name__ == "__main__":
app = QApplication(sys.argv)
win = ListViewDemo()
win.show()
sys.exit(app.exec_())看完上述內容,你們掌握怎么在pyqt5中使用QlistView顯示列表的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。