Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets > Перетипирование объектов их QWidgetList и QObjectList.


Автор: Сергей85 01.09.22, 14:12
Пусть есть QWidgetList. Напихал туда лабелов и комбобоксов. Но обратно не могу их вытащить: не получается перетипировать виджет в лабел или комбобокс. Как сделать?

Конструкция QLabel *ttt = QLabel(QWidgetList->at(0)) дает методы для QLabel, но их выполнение не дает никакого результата.

В случае с ObjectList с пиханием туда тех же лабелов и комбобоксов - вообще не перетипируется строка выше.

Автор: Majestio 01.09.22, 15:03
Цитата Сергей85 @
не получается перетипировать виджет в лабел или комбобокс. Как сделать?

Читаем тут про qobject_cast.

Исправленный пример:

<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    QLabel *ttt = qobject_cast<QLabel *>(QWidgetList->at(0));


Аналогично и с QObjectList.

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)