一、介绍
用于以列表方式展示数据,它的子类是QListWidget,QListView是基于模型(Model)的,需要程序来建立模型,然后保存数据。它已经建立了一个数据存储模型(QListWidgetItem),直接调用AddItem函数,就可以添加条目(Item)。
二、常用方法
setModel(Model):用来设置View所关联的Model,可以使用list数据类型作为数据源
selectedItem(n):选中Model中的条目n
isSelected():判断Model中的某条目是否被选中
三、常用信号
clicked:单击某项时发送
doubleClicked:双击某项时发送
四、代码示例
样式1
import sys
from PyQt6.QtCore import QStringListModel
from PyQt6.QtWidgets import QWidget, QListView, QVBoxLayout, QMessageBox, QApplication, QHBoxLayout
class MainWidget(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Main Widget")
self.resize(300, 260)
# (a)
listModel = QStringListModel()
self.list = ['C++','Java','Python','Ruby','PHP']
listModel.setStringList(self.list)
listView = QListView()
listView.setModel(listModel)
listView.clicked.connect(self.clickedFunc)
layout = QVBoxLayout()
layout.addWidget(listView)
self.setLayout(layout)
def clickedFunc(self,Index):
QMessageBox.information(self, "ListView", "选择:"+self.list[Index.row()])
if __name__ == '__main__':
app = QApplication(sys.argv)
widget = MainWidget()
widget.show()
sys.exit(app.exec())
样式1演示效果


2307

被折叠的 条评论
为什么被折叠?



