Форум программистов, компьютерный форум, киберфорум
QML
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 11.07.2015
Сообщений: 62
1

Передача массива данных из c++ в qml

10.10.2020, 13:12. Просмотров 2514. Ответов 3
Метки нет (Все метки)

Добрый день!
Есть такая задача: нужно отобразить двумерный массив на графике в qml (вектор векторов Qpoint) созданный в с++ (Создал и зарегистрировал новый тип QML)
Никак не могу понять принцип как его передать.

C++
1
2
3
4
QVector<QVector<QPoint>> ScopeView::getData() const
{   // QVector<QVector<QPoint>>data;
    return data;
}
Как его принять в QML и построить график ?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.10.2020, 13:12
Ответы с готовыми решениями:

Передача данных из *.cpp в *.qml
Подскажите пожалуйста как передать данные из *.cpp в *.qml в *.cpp я получаю данные с порта...

Передача массива классов в QML
Собственно, подскажите как это сделать? Так как поиск в интернете, почти ничего не дал.

Передача данных из строки в таблицу Qt 5.3, QML 2.0
Привет всем. Возникла проблемка. Как передать данные из поля TextInput в таблицу? main.qml такой ...

Передача данных типа Qvector в QML ChartView
Всем привет. У меня возникла такая проблема, не могу понять как через сигналы перекинуть из одного...

3
Модератор
Эксперт .NET
5303 / 4098 / 1182
Регистрация: 12.10.2013
Сообщений: 11,909
Записей в блоге: 2
10.10.2020, 15:24 2
Цитата Сообщение от fyria30 Посмотреть сообщение
Как его принять в QML и построить график ?
Как обычно, у вас два варианта:
1. Вызвать метод класса из кода QML, который вернет этот тип.
2. В класса который формирует этот тип создать событие с параметром, и подписаться на него в коде QML
0
1 / 1 / 0
Регистрация: 11.07.2015
Сообщений: 62
10.10.2020, 16:46  [ТС] 3
Я получаю следующую ошибку:
Cannot assign to property of unknown type "QVector<QVector<QPoint> >"
0
Don't worry, be happy
16958 / 9839 / 1895
Регистрация: 27.09.2012
Сообщений: 24,394
Записей в блоге: 2
12.10.2020, 23:36 4
Лучший ответ Сообщение было отмечено fyria30 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
QVariantList MyType::foo()
{
    QVariantList result;
    QVector<QVector<QPoint>> vec
    {
        {{1, 2}, {3, 4}},
        {{0, 9}, {8, 7}}
    };
 
    QList<QVariant> list;
 
    for (int i = 0; i < vec.size(); ++i) {
        for (auto & point: vec[i]) {
            list.append(point);
        }
        result.append(QVariant(list));
        list.clear();
    }
    return result;
}
Javascript
1
2
3
4
5
6
7
8
function foo() {
    var v = myObject.foo();
    for (var i = 0; i < v.length; ++i) {
        for (var j = 0; j < v[i].length; ++j) {
            console.log("element (" , i , ", ", j, ") =", v[i][j].x, ",", v[i][j].y)
        }
    }
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.10.2020, 23:36

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Передача параметра из .cpp в .qml
По COM порту получаю строку вида 0,0,999,000000110: , 12 чисел, первые 3 разделяются запятыми,...

Передача параметра из QML в QT по клику
Всем привет, не так давно изучаю qml, хочу разобраться, как передать по клику на кнопку в qml слое...

Подсветка QML элементов QML-ного плагина в QtCreator в случае нахождения QML файлов плагина в ресурсах!
Здравствуйте! Если сделать плагин для QML и подключить его в основном проекте ну как - то так:...

Передача сигнала из c++ кода в qml слот
Добрго времени суток! Начал изучать Qml и столкнулся с пблемой передачи сигнала из С++ кода в qml...

Передача массива данных в Excel или создание двумерного динамического массива
Нашел на просторах вот такое: Dim oExcel As Object Dim oBook As Object Dim oSheet As...

Передача информации из QML в заданный экземпляр класса c++
Всем привет. Пытаюсь реализовать следующий алгоритм 1. Имеется QML окно &quot;калькулятор&quot;. Для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.