回覆列表
  • 1 # 藍風24

    我把這些組裝起來,放在一個演示程式中。在我的專案中,目錄結構如下:

    listview1$ tree

    .

    ├── imports

    │ └── model

    │ ├── ContactModel.qml

    │ └── qmldir

    ├── run.sh

    └── test.qml

    這個演示程式包含了一個test.qml檔案和另一個plugin. 這個plugin只包含了一個ContactModel.qml檔案,沒有C++動態庫。

    qmldir描述了從這個plugin暴露出來的module.

    module model

    ContactModel 1.0 ContactModel.qml

    這個ContactModel.qml檔案是一個用於給ListView提供資料的model.import QtQuick 2.0

    ListModel {

    ListElement {

    name: "Bill Smith"

    number: "555 3264"

    }

    ListElement {

    name: "John Brown"

    number: "555 8426"

    }

    ListElement {

    name: "Sam Wise"

    number: "555 0473"

    }

    }

    在test.qml檔案中,將ContactModel應用到model屬性上。delegate是用於遍歷model中所有ListElements的方法,並且將每個ListElement作為一個Text 塊顯示在視窗。import QtQuick 2.0

    import model 1.0

    ListView {

    width: 180; height: 200

    model: ContactModel {}

    delegate: Text {

    text: name + ": " + number

    }

    }

    要編譯這個程式,執行下面的命令:qmake

    make

    要執行的話:~/Qt5.2.0/5.2.0/gcc_64/bin/qmlscene -I ./imports ./test.qm

  • 中秋節和大豐收的關聯?
  • 煤氣罐減壓閥堵塞怎麼辦?