#include "MyHeaderView.h" #include #include #include "private/qheaderview_p.h" MyHeaderView::MyHeaderView(QWidget *parent) : QHeaderView(Qt::Horizontal, parent) { qDebug() << "Printing persistentHiddenSections.size() from QHeaderViewPrivate"; } void MyHeaderView::setModel(QAbstractItemModel *model) { QObject::connect(model, SIGNAL(layoutAboutToBeChanged()), this, SLOT(beforeLayoutAboutToBeChanged())); QHeaderView::setModel(model); QObject::connect(model, SIGNAL(layoutAboutToBeChanged()), this, SLOT(afterLayoutAboutToBeChanged())); QObject::connect(model, SIGNAL(layoutChanged()), this, SLOT(afterLayoutChanged())); } void MyHeaderView::beforeLayoutAboutToBeChanged() { qDebug() << "Before layoutAboutToBeChanged: " << reinterpret_cast(d_ptr.data())->persistentHiddenSections.size(); } void MyHeaderView::afterLayoutAboutToBeChanged() { qDebug() << "After layoutAboutToBeChanged: " << reinterpret_cast(d_ptr.data())->persistentHiddenSections.size(); } void MyHeaderView::afterLayoutChanged() { qDebug() << "After layoutChanged: " << reinterpret_cast(d_ptr.data())->persistentHiddenSections.size() << "\n"; }