Bug with QTableView QSortFilterProxyModel and hidden columns

  • Hello all,

    I'm having a problem with hidden columns on a table. I have a feature that can hide some columns of my table, using the table setColumnHidden function. I also have a QSortFilterProxyModel on this table that I use for hiding some rows according to a context. So I implemented the filterAcceptsRow function in my QSortFilterProxyModel. When my context changes, I call an invalidate on my QSortFilterProxyModel to hide some rows.

    My problem is that often (this is not a reproducible bug every time), the invalidate call shows the columns that were hidden!

    I specify that I do not have any particular threading. Everything is in the main thread.

    Someone would have an idea about this bug ?!

    Thank you.

  • Strange bug.
    What's the source model? A custom one?
    The first thing I'd look at is if the source model either resets or the count of columns returns a number <= the index of the hidden column any time

  • Yes, it's a custom source model too. There is no reset of the model. Column counts also valid.

    Edit : I also have the impression that the display of hidden columns is only done if row1 has been hidden by the invalidate. Really strange. I have the feeling that it is a Qt bug ... :(

  • Lifetime Qt Champion


    Can you reproduce that with a minimal compilable example ?

  • When it happens with Qt5.9.4 or 5.10.0 (not sure about 5.10.1) then it's most likely QTBUG-65478

  • Qt Champions 2017

Log in to reply

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.