[Interest] Qt 5 and filesystem

Mark markg85 at gmail.com
Mon Jan 7 21:31:54 CET 2013


On Mon, Jan 7, 2013 at 5:30 PM, Jason H <scorp1us at yahoo.com> wrote:
> Not a great idea, sure. But they allowed people to use legacy dilaogs untiul
> Qt Desktop Components were supported.
>
> This there a technical reason they don't exist? I'm not understanding what
> the difference really is.
>
>
>
> ________________________________
> From: Andre Somers <andre at familiesomers.nl>
> To: interest at qt-project.org
> Sent: Saturday, January 5, 2013 9:32 AM
>
> Subject: Re: [Interest] Qt 5 and filesystem
>
> Op 5-1-2013 6:57, Jason H schreef:
>
> Why isn't there a proxy?
>
> Because these only exist on QGraphicsView (and were not that great an idea
> there either, for that matter).
>
> André
>
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
>
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>

I'm just going to drop in here since i've been doing a _lot_ of
experimenting in the filesystem area combined with QML.

First, the proxy way. Don't! QML is different then QWidgets, you will
get styling issues if you mix the two and you really just shouldn't
mix them. Just my opinion.

The interesting part is the filesystem stuff itself. It might be 16+
years old in Qt (C++ side) but it's still amazingly limited in terms
of file system support. It only supports one: your local filesystem.
It doesn't support samba, nfs, ftp (oke, through a module it does do
ftp), ... you name it. There is just nothing there in Qt. This is
where KDE comes in. KDE has a "little" (pun intended) thingy called
"KIO". It's a very massive IO framework that has support for a lot of
different filesystems. It's all working under Qt and is right now in
the progress of being ported to a Qt only library (as in no other
dependencies needed to run other then KIO + Qt). Lately i've been
doing a lot of experimenting with KIO + QML. It's a bit cumbersome to
get it working because you need:
- KDE libraries (libkio and a few others iirc)
- Qt libraries
But you also need to make custom models because the current models
don't play well with QML. They miss the column names that QML needs.

I am very far in this matter and you can try my file browser (based on
KIO + QML) : http://gitorious.org/porpoise/master/trees/master but do
note that it's far from done and you need KDE to run it. You might
even need some additional plasma installs since i'm (still) using some
plasma components. I am about to drop those though.

One big thing that you will also encounter when using QML + filesystem
related stuff is the complete lack of trees! Right now there is no way
to display a treeview in QML. And i don't mean through proxy stuff.
Just using QML + imports. I am experimenting in that area as well to
get a treeview working properly but that's kinda tricky. Qt should
really try to improve a bit here and offer some default components
that can display a tree like structure.

So for your initial question to pop up a file dialog... Yeah, that
requires quite a bit of work to do at the moment. It is possible, the
technology is all there and in my git repo (same link as above) i am
infact using all the tech needed which you can use as you please for
your needs.

Cheers,
Mark



More information about the Interest mailing list