I'm having trouble understanding why I need to call QTableView::invalidate() before I can hide columns in the view.
Here m_proxy is a subclassed QSortFilterProxyModel with a reimplemented filterAcceptsRow and m_view is just QTableView.
m_view->setColumnHidden(5, true);
qDebug() << m_view->isColumnHidden(5);
m_proxy->invalidate();
m_view->setColumnHidden(5, true);
qDebug() << m_view->isColumnHidden(5);
m_view->setColumnHidden(5, true);
qDebug() << m_view->isColumnHidden(5);
m_proxy->invalidate();
m_view->setColumnHidden(5, true);
qDebug() << m_view->isColumnHidden(5);
To copy to clipboard, switch view to plain text mode
The above code returns:
I am actually having trouble hiding columns elsewhere in my code which I how I stumbled on this curiosity.
Thanks for any explanations!
Bookmarks