PyQt5 ListView 使用教程:显示列表数据
PyQt5 中的 ListView 控件是一个可以显示列表数据的控件,它使用 Model/View 架构来显示数据。ListView 通常与 Model 和 Delegate 一起使用,其中 Model 提供数据,Delegate 负责数据的显示。
下面是一个 ListView 的用法示例:
from PyQt5.QtWidgets import QApplication, QMainWindow, QListView, QWidget, QVBoxLayout
from PyQt5.QtCore import QStringListModel
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建一个 QWidget 作为主窗口的中心控件
central_widget = QWidget(self)
self.setCentralWidget(central_widget)
# 创建一个 ListView
self.list_view = QListView(central_widget)
# 设置 ListView 的数据模型
self.list_model = QStringListModel()
self.list_model.setStringList(['item1', 'item2', 'item3'])
self.list_view.setModel(self.list_model)
# 将 ListView 添加到 QWidget 中
layout = QVBoxLayout(central_widget)
layout.addWidget(self.list_view)
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
在这个示例中,我们创建了一个包含三个字符串的字符串列表,并将其设置为 ListView 的数据模型。然后,我们将 ListView 添加到一个 QWidget 中,并将这个 QWidget 设置为主窗口的中心控件。
需要注意的是,我们使用了 QStringListModel 作为 ListView 的数据模型,它是一个专门用于处理字符串列表的 Model 类。如果需要显示其他类型的数据,可以使用其他类型的 Model 类,例如 QStandardItemModel。同时,我们还可以自定义 Delegate 来定制数据的显示方式。
原文地址: https://www.cveoy.top/t/topic/oKxv 著作权归作者所有。请勿转载和采集!