pyqt5 QlistView列表顯示的實現示例
阿新 • • 發佈:2020-03-25
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_())
檔案參考:PyQt 快速開發與實踐
到此這篇關於pyqt5 QlistView列表顯示的實現示例的文章就介紹到這了,更多相關pyqt5 QlistView列表顯示內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!