-1
Я обновил свой QtCreator до 5.5 и создал новый проект, в реализации я не получал значения QList в QML (от вызова сигнала):Как повторить QVariant?
Класс:
...
int main(int argc, char *argv[])
{
QApplication application(argc, argv);
const QString mainQmlApp = QStringLiteral("qrc:///Exemplo.qml");
QQuickView view;
qmlRegisterType<ExemploController>("org.qtproject.example", 1, 0, "ExemploController");
view.setSource(QUrl(mainQmlApp));
view.setResizeMode(QQuickView::SizeRootObjectToView);
QObject::connect(view.engine(), SIGNAL(quit()), qApp, SLOT(quit()));
view.setGeometry(QRect(100, 100, 400, 400));
view.show();
return application.exec();
}
Контроллер:
файлЗаголовок:
...
class ExemploController : public QWidget
{
Q_OBJECT
public:
explicit ExemploController(QWidget *parent = 0);
Q_INVOKABLE void getMatrix();
signals:
void receiveMatrix(QList <QList <double> > matrix);
public slots:
};
Реализация:
...
QList <QList <double> > net;
for(int i = 0; i < 6; i++){
QList<double> colorMatrix;
colorMatrix << 1 << 2 << 1 << 2 << 2 << 2;
net << colorMatrix;
}
emit receiveMatrix(net);
...
И .. в QML:
...
ExemploController {
id: exemplo
onReceiveMatrix: {
console.log(matrix+" "+matrix.length); //this returns 'qml: QVariant(QList<QList<double> >) undefined'
}
}
...
Как я могу получить эти значения?