溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在pyqt5中使用QlistView顯示列表

發(fā)布時間:2021-04-16 16:50:44 來源:億速云 閱讀:1045 作者:Leah 欄目:開發(fā)技術

怎么在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ā)射

怎么在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()   #創(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è)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI