20 октября 2019 г. 8:11

Переключение режима в qml и получение разных данных из C++

Всем привет.
Нужен совет как правильно реализовать данное переключени.
Суть задачи такая:
В qml есть combobox в котором выбираются разные решимы.
Так же в qml есть поля, которые из C++ вытаскивают данные. Но исходя из выбранного режима в поля должны писатся данные из разных классов.
Структура примерно такая:
Base
Disk1
Disk2
Disk3
Есть класс который создает указатели для каждого диска, то есть там можно какой то контейнер иметь со всеми указателями(какого вида должен быть данный контейнер не знаю). Но Стоит ли как то данный контейнер с поинтерами юзать на стороне qml для переключения режимов я не знаю.
Так же есть в даннмо классе структура с именованием этих всех дисков. Может правильно использовать только именования эти в qml чтобы переключать?
Буду признателен за развернутый совет по данной реализации.
Спасибо всем.

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.
4
  • 20 октября 2019 г. 10:22

Еще хотел добавить для ясности, наследники не имеют перегруженных методов от родителя. То есть у каждого наследника свои методы которые возвращают данные что я отображаю в qml

Привет.
Нужно писать адаптер к каждому режиму, который будет иметь один набор методов, но для каждого режима реализовывать свою функциональность. В QML нужен один обощённый интерфейс, а адаптеры должны будут разруливать внутреннюю логику. Тут скорее не вопрос контейнера, а вопрос обработчиков.

То есть если я правильно понимаю смысл реализации то примерно так должно быглядеть:
BaseAdapter (в котормо будут все методы для наследников)
Adapter1
Disk1
Adapret2
Disk2

так как режимы переключения это как раз переключение между возвратом значения метода name() то из класса Disk1 то из класса Disk2

попробуй сделать через свой собственный компонет , те возьми контрол Component, например , переорпедели как свой , в нем что нить типо проперти type : disk1, disk2 (сделай метод в структуре который возвращает текущий тайп )...
и на основании тайпа делай что хочешь

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Donate

Здравствуйте, уважаемые пользователи EVILEG !!!

Если сайт вам помог, то поддержите разработку сайта финансово, пожалуйста.

Вы можете сделать это следующими способами:

Спасибо, Евгений Легоцкой

О
18 ноября 2019 г. 15:54
Оксана

C++ - Тест 005. Структуры и Классы

  • Результат:66баллов,
  • Очки рейтинга-1
АГ
18 ноября 2019 г. 15:50
Антон Гурьев

C++ - Тест 001. Первая программа и типы данных

  • Результат:46баллов,
  • Очки рейтинга-6
VZ
17 ноября 2019 г. 2:25
Vladimir Zhitkovsky

Qt - Тест 001. Сигналы и слоты

  • Результат:78баллов,
  • Очки рейтинга2
Последние комментарии
c
18 ноября 2019 г. 6:27
cyberaxe77

Моих знаний пока явно недостаточно, чтобы писать статьи. Так...небольшие заметки "на полях"))).
18 ноября 2019 г. 6:10
Евгений Легоцкой

Пока что на сайте нет активных пользователей PyQt5, кто бы мог писать статьи по PyQt5, к сожалению. Лично я только для статей пользуюсь этой библиотекой. Но можете стать одним из первых ;) Любой…
18 ноября 2019 г. 2:44
Евгений Легоцкой

Добрый день. На тот момент ничего не использовал дополнительно и никаких специальных настроек не делал. Просто собрал и получилось 10 мб.
c
17 ноября 2019 г. 14:25
cyberaxe77

Шикарно! Как обычно всё объясняется чётко, ясно и, по-возможности, кратко. Побольше бы контента по PyQt5...
ГВ
16 ноября 2019 г. 16:16
Гибралтар Вольфрамов

Разрешите узнать, как вы получили qt+qml приложение размером в 10мб(даже релизных). Дело в том, что пустое приложение, хоть и со стек вью, обходится мне на все 40мб пространства. Или же вы воспо…
Сейчас обсуждают на форуме
c
19 ноября 2019 г. 4:49
cyberaxe77

Я штудирую небезизвестную книгу Прохорёнка и Дронова. Будьте добры скинуть один-два примера с передачей ссылок в поток. Очень интересно. Заранее благодарю.
MP
19 ноября 2019 г. 4:13
Mikhail Petrov

Без разницы в дизайнере создается форма или не в дизайнере. Как вы добавляете в QTabWidget?
19 ноября 2019 г. 2:36
BlinCT

Всем привет. Если кто дебажил qml часть подскажиет пожалуйста, какие настрйоки требуются в Qt Creator? Я собирал 5.12.5 из исходников, в Настройкс в debugger у меня выставлен путь к со…
18 ноября 2019 г. 13:36
Intruder

Понятно. Я кстати так сейчас и сделал, добавил проект в проект и т.д. Спасибо!
EVILEG
О нас
Услуги
© EVILEG 2015-2019
Рекомендует хостинг TIMEWEB