Filter Columns in a QFileSystemModel

From Qt Wiki
Revision as of 15:26, 14 January 2015 by Maintenance script (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

How to Filter Columns in a QFileSystemModel

Sometimes one does not want to display all the columns of a QFileSystemModel [], like discussed in this forum thread [].

This can be achieved in two ways, either by hiding the columns in the view, by using a specialized proxy model. The easiest way is to hide the columns using the QHeaderView, but the alternative to subclass QSortFilterProxyModel [] and reimplement the filterAcceptsColumn() method also works well.

Column hiding using QHeaderView

All multi-column views provide access to a QHeaderView [] . This is the widget that provides the headers above the columns of data, and allows the user to resize those columns, or click the headers to trigger a sorting order. You can also use this widget to hide columns in your view.

The alternative method of using a custom proxy model is outlined below.

Column hiding using QSortFilterProxyModel

Be aware that the column count is 0-based and that it is hard coded.