Russian Qt Forum
Ноябрь 23, 2024, 02:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Родительский класс  (Прочитано 2349 раз)
trot
Гость
« : Октябрь 19, 2010, 18:56 »

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

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Октябрь 19, 2010, 19:12 »

А чем не устроило, например, такое:

Код
C++ (Qt)
BaseForm* bf = window()->findChild< BaseForm* >();
Записан

Qt 5.11/4.8.7 (X11/Win)
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.09 секунд. Запросов: 23.