Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: trot от Октябрь 19, 2010, 18:56



Название: Родительский класс
Отправлено: trot от Октябрь 19, 2010, 18:56
От QWidget наследую свой элемент контейнер BaseForm. На котором в дальнейшем размещаю различные элементы управления.
В ходе выполнения программы пытаюсь из метода какого-либо элемента управления получить доступ к BaseForm.  Для этого с помощью рекурсии ищу "родителя", у которого имя суперкласса равно BaseForm, динамически осуществляю приведения типа и выполняю методы BaseForm. Вопрос как быть в случае множественного наследования, так как superClass возвращает описание для одного родительского класса (это что ограничение Qt)? В некоторых случаях (особенно при создании делегатов) почему-то (после динамического приведения типа к BaseForm) и при попытке вызвать какой-либо метод выскакивает исключение. Можете предложить более безопасное решение. Спасибо.


Название: Re: Родительский класс
Отправлено: GreatSnake от Октябрь 19, 2010, 19:12
А чем не устроило, например, такое:

Код
C++ (Qt)
BaseForm* bf = window()->findChild< BaseForm* >();