Important: Please read the Qt Code of Conduct -

How to populate a QML ListView from a C++ program

  • First, thx for reading and possibly answering this post.

    I'm thriving to populate a QML ListView from a C++ program. The
    ListView uses a ListModel described in the QML file.

    After hours of efforts, I got nada. I need help.


    ListView {
    id: listView
    delegate: Item {
    id: item1
    x: 2
    width: parent.width
    height: 22
    Row {
    id: row1
    x: 0
    y: 0
    spacing: 10
    Text {
    id: txt
    x: 0
    y: 1
    width: parent.width
    height: 21
    color: "#fdfdfd"
    text: caption
    font.pixelSize: 12
    Rectangle {
    id: rectangle
    x: txt.x
    y: txt.y
    width: txt.width
    height: txt.height
    color: colorCode
    z: -1
    model: ListModel {
    id: mymodel
    ListElement {
    caption: "red"
    colorCode: "red"


    QGuiApplication app(argc, argv);

    QQmlApplicationEngine engine;


    Thx again if you answer this post.

  • Lifetime Qt Champion


    You should take a look at the Using C++ Models with Qt Quick Views chapter of Qt's documentation.

  • You can have a look at this Blog post
    and here is the Source code

Log in to reply