[PyQt] Drag and Drop when using designer
Jan Ekholm
jan.ekholm at smultron.net
Thu Oct 25 12:18:05 BST 2007
On Thursday 25 October 2007, Andreas Pakulat wrote:
> Would you elaborate a bit on that? I mean what exactly is the problem
> with the tree models? And exactly which tree models are you talking
> about? There are none in Qt itself, except for the QStandardItemModel
> which allows to build tree's, but of course is not that suitable if you
> have legacy code that you want to wrap in Qt.
I mean building a tree model using QAbstractItemModel for a QTreeView. It is
one of the tasks in Qt that is not for the faint of heart. The need to
manually fiddle with index() and parent() is a mess. I've never understood
why the model requires you to provide a "two way" access system to the data,
ie why do you have to be able to tell both the cildren of a given node *and*
its parent? The first is obvious, the latter is something I think Qt should
take care of internally. As it is now most apps likely read in data to some
custom data structures, say, lists of lists or similar. You are then more or
less required to duplicate this own tree into another structure so that you
can add in the stuff Qt needs. See the standard Qt "Simple Tree" example for
an example of the extra datastructure that is required.
What is IMHO missing there is a QAbstractTreeModel that removes most of the
gore (such as parent()) and leaves only the relevant pieces for the
applications developer to worry about.
But this is way off-topic for this list and I apologize for that.
--
Jan Ekholm
jan.ekholm at smultron.net
More information about the PyQt
mailing list