Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 基于c++;QStringList模型_C++_Qt_Qml - Fatal编程技术网

C++ 基于c++;QStringList模型

C++ 基于c++;QStringList模型,c++,qt,qml,C++,Qt,Qml,我提供给QML ListView的QStringList显示正确。现在我想将字符串重新组织为节,但我有点被困在如何为section.property提供内容上了!我是否可以对代码进行最小的更改以提供此信息? 以下是我目前的代码: C++类: class Foo : public QObject { Q_OBJECT Q_PROPERTY(QStringList data READ getData WRITE setData NOTIFY dataChanged) public

我提供给QML ListView的QStringList显示正确。现在我想将字符串重新组织为节,但我有点被困在如何为section.property提供内容上了!我是否可以对代码进行最小的更改以提供此信息? 以下是我目前的代码:

C++类:

class Foo : public QObject
{
    Q_OBJECT
    Q_PROPERTY(QStringList data  READ getData WRITE setData NOTIFY dataChanged)

public:
    QStringList getData() const {return m_data;}
    void setData(const QStringList &data);

signals:
    void dataChanged();

private:
    QStringList m_data;
};
main.cpp

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    qmlRegisterType<Foo>("MyModule", 1, 0, "Foo");

    QQuickView view;
    view.setSource(QUrl("qrc:/main.qml"));
    view.show();

    return app.exec();
}

您使用的是什么版本的Qt?我使用的是最新版本:Qt 5.4.1请查看。您需要一个附加属性,或者可以利用该属性创建“地址簿”分区样式(“A”、“B”、“C”…)。
import MyModule 1.0

Foo{
    id: foo
}
...
ListView {
    id: myView
    model: foo.data
    delegate: Text {text: modelData}
    section {
        property: what should I write in here ?
    }
}