PyQt5 和 QAbstractListModel::columnCount
PyQt5 and QAbstractListModel::columnCount
QTreeView 忽略从 QAbstractListModel 继承的 class 的 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++ 代码工作正常。
我做错了什么?
来自 Qt 文档:
The QAbstractListModel
class provides an abstract model that can be subclassed to create
one-dimensional list models. [emphasis added]
但是您显然想要一个二维模型,所以请改用QAbstractItemModel。
QTreeView 忽略从 QAbstractListModel 继承的 class 的 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++ 代码工作正常。
我做错了什么?
来自 Qt 文档:
The QAbstractListModel class provides an abstract model that can be subclassed to create one-dimensional list models. [emphasis added]
但是您显然想要一个二维模型,所以请改用QAbstractItemModel。