Qt наследование и виджеты
Приветствую, любимый форум! =)
Очень нужен совет, куда копать, как сделать...
Есть mainwindow, на котором размещен комбобокс (с вариантами выбора А1, А2, B1, B2) и фрейм для виджета.
В зависимости от выбора в комбобоксе - в фрейм добавляется один из виджетов.
Виджеты представлены базовыми классами: A, B.
Эти базовые классы наследуются от QWidget-а.
Но от этих базовых классов A,B наследуются дочерние A1, A2, B1, B2.
у комбобокса описан слот
on_combobox_activated(int index){ QLayoutItem *item; while((item = layout->takeAt(0)) != 0){ delete item->widget(); delete item; } QWidget *tmpWidget = nullptr; if(ui->comboBox_moduleType->itemData(index, Qt::UserRole) == "A1") tmpWidget = new A1(); else if(ui->comboBox_moduleType->itemData(index, Qt::UserRole) == "B2") tmpWidget = new B2(); if(tmpWidget != nullptr){ layout->addWidget(tmpWidget); } }
Виджеты добавляются нормально, но я не понимаю, как вызвать методы этих классов A1, B2 и тд...
Подскажите, как организовать эту архитектуру?
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.Вам це подобається? Поділіться в соціальних мережах!
- Akiv Doros
- 12 листопада 2024 р. 01:58
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:50бали,
- Рейтинг балів-4
- molni99
- 26 жовтня 2024 р. 11:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80бали,
- Рейтинг балів4
- molni99
- 26 жовтня 2024 р. 11:29
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:20бали,
- Рейтинг балів-10
Наверное нужно написать класс-интерфейс IBasic
(tmpWidget);
и потом попробовать
IBasic *b = qobject_cast
?
Но у меня в базовых классах A,B - формы... Получается, что A,B должны будут наследоваться от QWidget-а и от IBasic?