[PyQt] Linux: Problem with QTreeView and Dot Directories
Hans-Peter Jansen
hpj at urpla.net
Thu Jul 7 16:30:54 BST 2016
Dear Gottfried,
On Donnerstag, 7. Juli 2016 10:08:00 Gottfried Müller wrote:
> I am using Python 3.5, PyQt 5.6 and Qt 5.6 (Manjaro distribution)
>
> You can follow the problem with the small python script in the attachment.
>
> There is a combobox with 2 entries (Home and a dot directory in the home
> path). After the start of the example program switch to the "UserShare"
> entry of the combobox. The treeview is empty now (I hope so). When you
> go back to the "Home" entry of the combobox, you will find beside of
> other directories in your home path (maybe) still the entry ".test". The
> model filter "QDir.AllDirs | QDir.NoDotAndDotDot" should not allow
> showing this entry. All other dot directories in the home path are hidden.
QDir.NoDot and friends act on "." and ".." entries only, nothing else.
By default, hidden entries are hidden, as you notice, and can be made visible
with QDir.Hidden.
When you use the .test/share path, you explicitly make .test part of the
model.
> Is this a feature or a bug?
>
> Is it a problem of PyQt or Qt? I suppose it is more a problem of Qt. I
> never wrote a C++ program. So it is not easy to me coding this example
> in C++.
It's an unfortunate usage pattern of QFileSystemModel.
The easiest workaround for your issue is using a QSortFilterProxyModel with a
'^[^\.]' regexp filter between model and view.
Cheers,
Pete
More information about the PyQt
mailing list