PyQt5之QListView列表数据
QListView类用于展示数据,它的子类是QListWidget。QListView是基于模型的,需要程序来建立模型,然后再保存数据。
一、QListView类的常用方法
方法 | 描述 |
---|---|
setModel() | 用来设置View所关联的Model,可以使用Python原生的list作为数据源Model |
selectedItem() | 选中Model中的条目 |
isSelected() | 判断Model中的某条目是否被选中 |
二、QListView类的常用信号
信号 | 含义 |
---|---|
clicked | 当单击某项时,信号被发射 |
doubleClicked | 当双击某项时,信号被发射 |
三、QListView的使用
import sys
from PyQt5 import QtCore
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class Win(QWidget):
def __init__(self):
super().__init__()
self.setGeometry(300, 300,500, 400)
self.setWindowTitle('QListView的使用')
listView = QListView()
slm = QStringListModel()
self.qlist = ['item1','item2','item3','item4']
slm.setStringList(self.qlist)
listView.setModel(slm)
listView.clicked.connect(self.click)
dlgLayout = QVBoxLayout()
dlgLayout.addWidget(listView)
self.setLayout(dlgLayout)
def click(self,qModelIndex):
#弹出消息框
QMessageBox.information(self,'ListWidget','你选择了:'+self.qlist[qModelIndex.row()])
if __name__ == "__main__":
app = QApplication(sys.argv)
form = Win()
form.show()
sys.exit(app.exec_())
运行效果如下: