1

QTreeView 忽略从 QAbstractListModel 继承的类的 columnCount() 并且只显示第一列:

import sys
from PyQt5.QtCore import QAbstractListModel
from PyQt5.QtWidgets import QApplication, QTreeView

class Model(QAbstractListModel):
    def columnCount(self, parent):
        return 3

    def data(self, index, role):
        return None

    def rowCount(self, parent):
        return 0

app = QApplication(sys.argv)

model = Model()
list_view = QTreeView()
list_view.setModel(model)
list_view.show()

app.exec_()

相关的 C++ 代码工作正常。

我究竟做错了什么?

4

1 回答 1

1

来自 Qt 文档:

QAbstractListModel类提供了 一个抽象模型,可以对其进行子类化以创建 一维列表模型。[重点补充]

但是您显然想要一个二维模型,因此请改用QAbstractItemModel

于 2016-01-31T19:32:24.410 回答