1. 程式人生 > 程式設計 >pyqt5 QlistView列表顯示的實現示例

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 當雙擊某項時,訊號被髮射

pyqt5 QlistView列表顯示的實現示例

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列表顯示內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!