Alex29. August 2017 14:49
Как передать из C++ в Qml массив структур.
Доброго времени суток, подскажите пожалуйста как из C++ части в Qml передать массив структур. К примеру есть структура
struct TankShell { int position_1; int position_2; int direction; int speed; };Есть класс, не привожу весь, через свойства я хочу передавать массив структур:
class bcGame : public QObject { Q_OBJECT Q_PROPERTY(QVector<TankShell> m_shellsArr READ getShellsCoords NOTIFY sigShellsMove)
Графическая часть:
GameObj { id: gm } function drawNewShellsPosition(data) { console.log(gm.getShellsCoords()) }Выдаётся ошибка:
qrc:/qml/main.qml:234: Error: Unknown method return type: QVector<TankShell> из этой строки console.log(gm.getShellsCoords())
Рекомендуємо хостинг TIMEWEB
Stabiles Hosting des sozialen Netzwerks EVILEG. Wir empfehlen VDS-Hosting für Django-Projekte.Magst du es? In sozialen Netzwerken teilen!
Kommentare
sf
- sdfsdfkp fgskpgokspdog
- 14. Oktober 2024 15:09
C++ - Тест 004. Указатели, Массивы и Циклы
- Ergebnis:90punkte,
- Bewertungspunkte8
МВ
- Максим Васильев
- 2. Oktober 2024 04:14
Qt - Тест 001. Сигналы и слоты
- Ergebnis:68punkte,
- Bewertungspunkte-1
ЛС
- Лев Семенов
- 30. September 2024 11:04
C++ - Тест 001. Первая программа и типы данных
- Ergebnis:53punkte,
- Bewertungspunkte-4
Letzte Kommentare
ИМ
Django – Lektion 064. So schreiben Sie eine Python-Markdown-Erweiterung Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
Игорь Максимов5. Oktober 2024 07:51
QML - Lektion 016. SQLite-Datenbank und das Arbeiten damit in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Qt Linux - Lektion 001. Autorun Qt-Anwendung unter Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Lektion 007. Arbeiten mit ICMP-Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий Кононенко5. Februar 2024 01:50
EVA25. Dezember 2023 10:30
Jetzt im Forum diskutieren
добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
ИМ
Реализация навигации по разделам Спасибо Евгений!
Игорь Максимов3. Oktober 2024 04:05
Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
КГ
Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
Кирилл Гусарев27. September 2024 09:09
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …
Хороший вопрос. У самого руки не доходят разобраться с ним, хотя уже поджимает решить этот вопрос. По идее просто структуру передать не получится... А вот если это будет класс наследованный от QObject и зарегистрированный в качестве Qml Meta Type, то должно сработать. Правда сам ещё не проверял, надо будет на днях поколупать.
Понял вас, ищу решение данного вопроса, если решу раньше вас то выложу.
Да. Ещё один момент, все поля класса, к которым вы захотите иметь доступ должны быть обработаны макросом Q_PROPERTY
В общем нашёл выход, не знаю насколько правильный, но он работает. Если у вас получится по другому то напишите потом пожалуйста.
МЕТОДЫ И СИГНАЛ КЛАССА
И в самом Qml ловим этот сигнал и обрабатываем:
Взял на заметку! Спасибо за решение!
Там есть звёздочка. Можете добавить в избранное, чтобы было в личном кабинете сайта.
может тоже кому надо будет - QML не принимает
, при попытке вывести полученый вектор QML показывает что это
но работать с ним не может. Тоже решал вопрос по примеру ТС - через несколько простых векторов