Nested ListView in PyQt5 and QML - qt

I need to create nested ListView. For example,
->Item1
-->Subitem1
-->Subitem2
->Item2
-->Subitem1
I have a dictionary data inside Python side. I need to display this data from QML ListView.
So, I should take the model from python and I should design collapsable ListView inside QML. I searched about this but I couldn't find example about it. I tried to create my own model but it didn't work.
Can someone help me?

Take a look at sections in ListView
https://doc-snapshots.qt.io/qt5-5.11/qml-qtquick-listview.html#section-prop

Related

Can we add multiple models and export it to qml?

I have created a model and exported it to qml. Now qml list elements gets updated from this model but I need a nestedlist. On click of the outerlist element inner list gets opened and the innerlist is a separate model. Any examples ?
You can achieve that by using the TreeView control. There are a few examples in the Examples section of Qt Creator.

QML ListView delegate provider component

Currently im working on a complex program that parse large nested json into a tree and display it. I created a tree to parse data and a model to query data from tree to display it in QML ListView.
Now i need to create a some kind of delegate provider for this model. Each element in tree have its own delegate with different set of options and different qml items. And there must be an option to load new type of delegates in the runtime.
Is there are nice solution to do that? Some kind of custom C++ Loader component? I need an advise. I already know that it can be done using switch case and qml loader. But this solution is not acceptable for me.

QML Nested List View with separators

I'm trying to implement a tree view that represent structure of buildings/floors/rooms. All rooms should be classified by floor and building ( thus header for each building and floor is required.
First I implemented it with Repeater, Row and Grid elements. However i need a selection behaviour so i need to use ListView and GridView. However I have problems displaying nested list views.
Here's my code so far: http://pastie.org/private/3seqntgvskbyxnmnuluaua
Expected Result( when using Grid and Repeater instead of GridView and List View ):
Haven't tried it myself, but here is how to implementation a tree view in QML.
http://www.codeproject.com/Articles/632795/QML-TreeModel-and-TreeView
There is still no official tree view component in Qt (as of version 5.2). However, see the solution provided by jens on this thread
http://qt-project.org/forums/viewthread/30521
This is by far the best tree view that I have come across. It should provide a good basis for what you are trying to do.
Looks like Qt Company is releasing a QML TreeView in Qt5.5. Alpha release should be coming out in February.
http://blog.qt.io/blog/2015/02/05/licensing-of-new-modules-in-qt-5-5/

creating own qml table view with all functionality

Does anybody knows how to create a table view using QML(Qt Quick 1.0)?
Tell me all ideas you have, my ended, I'm writing on PySide so unfortunately I can't use QtQuick 2
Depending on your requirement, you can use one or combination of :
Qml Grid view
Combination of Qml Row and Column
List View

How to Customize ListView in QT

HI..
i am new to QT,i want to know how to customize the listview in QT i.e i want to add multiple icon in single row.. etc.. i tried lot i am not getting how to do that..
i tried with Qlistwidget, in tat i can only insert single row with one image.. i am not able to place multiple icon with desired locations..
please assist me, which control is good listview or listwidget.
and how to customize the same according to my view
if you have any sample examples. please provide me the link.
Thanks
You can implement a delegate to customize the rendering of the items in your view.
From the model/view programming docs: delegates are responsible for rendering individual items in the views.
See the pixelator sample for example usage.
Take a look at QTableView or QTableWidget. You can insert the icons in the first two columns and the text in the third column. Or any other way you like it.
I guess you can use some delegates.
Have a look at http://qt.nokia.com/doc/4.6/model-view-delegate.html
Hope it helps !

Resources