在 Qt 中,您在 QAbstractItemModel 中有这个例程(以及其他例程)
bool insertRows(int row, int count, const QModelIndex &parent = QModelIndex());
如果未指定父级,则每次调用它时基本上都会实例化一个新的 QModelIndex 。
在 python 中,同一行的含义大不相同:每次调用时只会实例化和共享一个 QModelIndex
我不清楚的一点是 PyQt 是如何处理这种差异的。该文档似乎是从 C++ 文档自动生成的,结果默认参数实例化使用相同的语法,但含义完全不同,因此问题未得到解决。
这个问题当然会延续到 QAbstractItemModel 的 PyQt 中的自定义重新实现。你是否应该申报
def insertRows(self, row, count, index=QtCore.QModelIndex()):
或者
def insertRows(self, row, count, index=None):
如果索引为无,则实例化一个新的 QModelIndex?