BlinCTOct. 20, 2019, 4:59 p.m.

Получение из QMap значение в qml

Всем привет.
Имеется в С++ контейнер QMap, состоит из , и вот мне надо в qml получить не только структуру но и конкретное поле из структуры.
То есть я понимаю что надо через foreach прогнать контейнер но как это сделать и как обращатся в структуре к отдельным полям не пойму.
Может кто подсказать как это можно сделать?
Спасибо.

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
6

Привет
По-моему, тут нужно QMap перегонять в QVariantMap , с которым нормально работает QML, а поиск нужной информации сделать через Q_INVOKABLE метод в C++ части, чтобы в итоге отдавать либо найденный объект, либо найденную информацию.

Я правильно понимаю что можно сразу не юзать QMap а уже складывать все в в QVariantMap? Просто получается что QMap тогда вообще не нужен.

смотря по ситуации, но исходя из выше сказаного, я бы утверждал, что "Да"

MP

Просто маленький совет. Я бы не стал смешивать логику на C++ и на qml. Получится спагетти-код. Подумайте стоит ли вообще передавать эти данные. Пишите больше на плюсах. Qml используйте для вёрстки. Лично я даже анимацию предпочитаю писать на плюсах. Так легче контролировать состояния, когда основной код на C++.

Да я понимаю что смешивать ен стоит. Вот и ищу вариант как это правильнее реализовать. Я думал что имея на стороне крестов структуры в которых находятся нужные мне обозначения передать эти поля в qml, и уже при переключении работать с нужными данными.
Так что я думаю передавать контейнер с данными из полей вроде правильное решение.
Если у вас есть какой то простйо пример подобной реализации буду признателен если покажите)

MP

Зависит от вашей задачи. Можете обратить внимание на этот пример:
https://doc.qt.io/qt-5/qtqml-referenceexamples-properties-example.html
QQmlListProperty используется мною достаточно часто. Либо можно передавать объект унаследованный от QAbstractItemModel. Есть и другие варианты:
https://doc.qt.io/qt-5/qtquick-modelviewsdata-cppmodels.html

Comments

Only authorized users can post comments.
Please, Log in or Sign up
Timeweb

Let me recommend you the excellent hosting on which EVILEG is located.

For many years, Timeweb has been proving his stability.

For projects on Django I recommend VDS hosting

View Hosting
TG

C++ - Test 001. The first program and data types

  • Result:53points,
  • Rating points-4
TG

C++ - Test 001. The first program and data types

  • Result:60points,
  • Rating points-1
TN

C++ - Test 001. The first program and data types

  • Result:40points,
  • Rating points-8
Last comments

Django - Tutorial 001. Deploying a site on Django + PostgreSQL + Gunicorn + Nginx

Ошибка в конфиге инжинкса про статику в root последний слеш лишний путь в таком виде получается /home/user/myprojectenv/myproject/myproject//static
  • Jurij
  • Jan. 20, 2021, 1:34 p.m.

Qt/C++ - Lesson 061. Adding images to the application using the Drag And Drop method from the file manager

// Вместо отрисовки иконки и текста будем отрисовывать только одно изображение // с небольшими отступами в 5 пикселей QPixmap pix(m_model->data(index).toString()); …
m
  • magrif
  • Jan. 19, 2021, 12:37 p.m.

Qt Сертификация

Здравствуйте. Подскажите, оплачивать ваучер прямо в выбранном тестовом центре? Можно ли загранник предъявить? Или свой паспорт, а заполнить транслитом? А то там пишут: Your name must exactl…
r
  • retmas
  • Jan. 17, 2021, 4:09 a.m.

Qt/C++ - Tutorial 074. Generating pseudo-random numbers, using STD library random

Дмитрий, решает. Просто автор, видимо, не сильно озаботился изучением документации QRandomGenerator. Да и в листинге с использованием qrand вызов функции qsrand на каждой итерации цикла нав…
g

Поздравляю всё Сообщество EVILEG с Новым Годом!!!

#include <iostream>using namespace std;int main() { cout << "Happy New Year and Thank you!"; return 0;}
Now discuss on the forum
DK

QScrollArea dynamically add QCheckBoxes

QWidget *materialContainer = new QWidget(this);QVBoxLayout *materialLay = new QVBoxLayout();materialContainer->setLayout(materialLay);ui->_materialScrollArea->setWidget(materialContaine…

Ошибка при работе утилиты не удалось получить фабрику класса com для компонента с clsid

Всем привет! Мне для тестов нужна одна утилита. Она тестирует определенное оборудование. Поставил ее на новый ноут с Windows 10 Домашняя, 64-бит, версия 10.0.19041. Утилита работает, но спу…

Как в Android открыть свернутое приложение?

Это не вам, тот коммент судя по всему удалили, или я написал не туда

Qt: INTERNAL ERROR: failed to install GetMessage hook: 1158

ESP8266 и вправду не корректно закрывало соединение. Причина оказалась банальной: перед функцией ухода в глубокий сон ESP.deepSleep(60e6) необходимо было поставить небольшую задержку delay(1). В…
  • Nomad
  • Jan. 20, 2021, 8:48 a.m.

Ограничение доступа к ресурсу с по django-cors-headers

всем привет помогите разобраться гуглю и ниче не помогает есть проект с drf установил django-cors-headers добавил в INSTALLED_APPS добавил MIDDLEWARE слой для cor…
About
Services
© EVILEG 2015-2020
Recommend hosting TIMEWEB