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
- 11 ноября 2024 г. 14:58
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:50баллов,
- Очки рейтинга-4
- molni99
- 26 октября 2024 г. 1:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80баллов,
- Очки рейтинга4
- molni99
- 26 октября 2024 г. 1:29
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:20баллов,
- Очки рейтинга-10
Наверное нужно написать класс-интерфейс IBasic
(tmpWidget);
и потом попробовать
IBasic *b = qobject_cast
?
Но у меня в базовых классах A,B - формы... Получается, что A,B должны будут наследоваться от QWidget-а и от IBasic?