История изменений
Исправление fluorite, (текущая версия) :
Всё как надо выводит:
qml: langList [0] = ABC
main.cpp
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QQmlContext>
#include <FixedParameters.h>
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
qmlRegisterType<FixedParameters>("Xintrea", 1, 0, "FixedParameters");
auto fixedParameters = new FixedParameters;
engine.rootContext()->setContextProperty("fixedParameters", fixedParameters);
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
if (engine.rootObjects().isEmpty())
return -1;
return app.exec();
}
FixedParameters.h
#pragma once
#include <QObject>
class FixedParameters : public QObject
{
Q_OBJECT
public:
explicit FixedParameters(QObject *parent = nullptr) {}
Q_INVOKABLE QStringList getInterfaceLanguageAvailable() const {
static QStringList list { "eng", "ru"};
return list;
}
};
PropertiesMenu.qml
import QtQuick 2.6
import Xintrea 1.0
PropertiesMenuView {
Component.onCompleted: {
var langList=fixedParameters.getInterfaceLanguageAvailable()
// Замена первого элемента
langList[0]="ABC";
console.log("langList [0] = "+langList[0]); // Добавил строчку
model=langList;
}
}
Исходная версия fluorite, :
Всё как надо выводит:
qml: langList [0] = ABC
main.cpp
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QQmlContext>
#include <FixedParameters.h>
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
qmlRegisterType<FixedParameters>("Xintrea", 1, 0, "FixedParameters");
auto fixedParameters = new FixedParameters;
engine.rootContext()->setContextProperty("fixedParameters", fixedParameters);
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
if (engine.rootObjects().isEmpty())
return -1;
return app.exec();
}
FixedParameters.h
#pragma once
#include <QObject>
class FixedParameters : public QObject
{
Q_OBJECT
public:
explicit FixedParameters(QObject *parent = nullptr) {}
Q_INVOKABLE QStringList getInterfaceLanguageAvailable() const {
static QStringList list { "eng", "ru"};
return list;
}
};
PropertiesMenu.qml
import QtQuick 2.6
import Xintrea 1.0
PropertiesMenuView {
// textRole: "name"
model: fixedParameters.getInterfaceLanguageAvailable()
Component.onCompleted: {
var langList=fixedParameters.getInterfaceLanguageAvailable()
// Замена первого элемента
langList[0]="ABC";
console.log("langList [0] = "+langList[0]); // Добавил строчку
model=langList;
}
}