Oct. 20, 2019, 7:11 a.m.

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

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

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.
4

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

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

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

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

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

Comments

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

Hello, Dear Users of EVILEG!!!

If the site helped you, then support the development of the site financially, please.

You can do it by following ways:

Thank you, Evgenii Legotckoi

Nov. 8, 2019, 7:59 a.m.
Pavel.K

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:60points,
  • Rating points-1
RF
Nov. 7, 2019, 12:51 p.m.
Roman Figura

C++ - Тест 003. Условия и циклы

  • Result:50points,
  • Rating points-4
RF
Nov. 7, 2019, 12:44 p.m.
Roman Figura

C++ - Test 002. Constants

  • Result:25points,
  • Rating points-10
Last comments
b
Nov. 9, 2019, 7:28 a.m.
bastonc

спасибо ещё раз. огромное, за уделённое время
b
Nov. 9, 2019, 7:24 a.m.
bastonc

Спасибо Вам большое. Буду изучать.
Nov. 9, 2019, 4:58 a.m.
Evgenij Legotskoj

Добрый день. По первым двум вопросам вы найдёте ответ в этой статье - PyQt5 - Урок 008. Работа с QTableWidget (Обновление урока 006) Что касается последнего вопроса, то я вам…
Nov. 9, 2019, 1:50 a.m.
Evgenij Legotskoj

Как и обещал, вы можете посмотреть новую статью QML - Урок 037. Кастомизация кнопок в QML (Обновление урока 002) . Там же найдёте ссылку на Git репозиторий. Не забудьте поставить звёз…
b
Nov. 8, 2019, 6:40 a.m.
bastonc

Приветствую. Подскажите пожалуйста пару моментов. 1. Как сделать столбец не редактируемый, а остальные ячейки остаются редактируемыми 2. Как оталвливать события двойного клика для реда…
Now discuss on the forum
AV
Nov. 11, 2019, 8:44 p.m.
Alexey Vasin

std можно использовать ?
r
Nov. 11, 2019, 4:57 a.m.
rbw123

buttonText скорее всего не видит потому, что он находится внутри ButtonStyle. А как тогда обращаться к свойствам?
Nov. 10, 2019, 5:53 a.m.
Evgenij Legotskoj

Я имел ввиду дополнительные параметры сортировки, кроме тех, что уже присутствуют в расширенном поиске.
c
Nov. 8, 2019, 10:06 a.m.
cappelikan

возникла задача реализовать парсинг html библиотекой htmlcxx и вывода href ссылок ввиде списка с помощью qlistview как это грамотно сделать ? спасибо
L
Nov. 7, 2019, 3:08 p.m.
LastLeaf

Спасибо, все получилось! Дай бог тебе здоровья!
EVILEG
About
Services
© EVILEG 2015-2019
Recommend hosting TIMEWEB