本文共 1166 字,大约阅读时间需要 3 分钟。
QListView类用于展示数据,它的子类是QListWidget。QListView是基于模型的,需要程序来建立模型,然后再保存数据。
方法 | 描述 |
---|---|
setModel() | 用来设置View所关联的Model,可以使用Python原生的list作为数据源Model |
selectedItem() | 选中Model中的条目 |
isSelected() | 判断Model中的某条目是否被选中 |
信号 | 含义 |
---|---|
clicked | 当单击某项时,信号被发射 |
doubleClicked | 当双击某项时,信号被发射 |
import sysfrom PyQt5 import QtCorefrom 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_())
运行效果如下:
转载地址:http://ftozi.baihongyu.com/