1

QTreeView ignores columnCount() of class inherited from QAbstractListModel and shows only first column:

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_()

Relevant C++ code works fine.

What am I doing wrong?

4

1 に答える 1

1

Qt ドキュメントから:

QAbstractListModelクラスは、サブクラス化して1 次元リスト モデル を作成できる抽象モデルを提供します 【強調追加】

しかし、明らかに2 次元モデルが必要なので、代わりにQAbstractItemModelを使用してください。

于 2016-01-31T19:32:24.410 に答える