Qt QDockWidget::setWidget()在Windows上调用QAbstractItemModel::rowCount,但在Linux上不调用

Qt QDockWidget::setWidget()在Windows上调用QAbstractItemModel::rowCount,但在Linux上不调用,qt,qtreeview,rowcount,qdockwidget,Qt,Qtreeview,Rowcount,Qdockwidget,考虑以下QabstracteModel子类: class MyItemModel : public QAbstractItemModel { Q_OBJECT public: (...) virtual int rowCount(const QModelIndex& parentIdx = QModelIndex()) const override; (...) }; 以及一个用于显示QTreeView的简单QDockWidget class DockWidge

考虑以下QabstracteModel子类:

class MyItemModel : public QAbstractItemModel {
Q_OBJECT
public:
    (...)
    virtual int rowCount(const QModelIndex& parentIdx = QModelIndex()) const override;
    (...)
};
以及一个用于显示QTreeView的简单QDockWidget

class DockWidget : public QDockWidget {
Q_OBJECT
public:
    DockWidget() {
         view = new QTreeView();
         setWidget(view);
    }
private:
    QTreeView *view;
}
如果在Windows上调用DockWidget构造函数,将调用MyItemModel::rowCount()。如果在Linux上使用此代码,MyItemModel::rowCount()不会被调用。这是正确的吗

我怀疑Qt for Windows在调用QDockWidget::setWidget()时会触发rowCount(),这在Linux上是不必要的。但这只是一个猜测

Qt版本4.8.3,
Windows 7 64位,
Ubuntu包括32位和64位