您好,登錄后才能下訂單哦!
怎么在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 | 當單擊某項時,信號被發(fā)射 |
doubleClicked | 當雙擊某項時,信號被發(fā)射 |
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() #創(chuàng)建一個listview對象 slm = QStringListModel(); #創(chuàng)建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顯示列表的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。