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 и тд...
Подскажите, как организовать эту архитектуру?
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
- Akiv Doros
- Nov. 11, 2024, 2:58 p.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:50points,
- Rating points-4
- molni99
- Oct. 26, 2024, 1:37 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:80points,
- Rating points4
- molni99
- Oct. 26, 2024, 1:29 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:20points,
- Rating points-10
Наверное нужно написать класс-интерфейс IBasic
(tmpWidget);
и потом попробовать
IBasic *b = qobject_cast
?
Но у меня в базовых классах A,B - формы... Получается, что A,B должны будут наследоваться от QWidget-а и от IBasic?