![]() |
|
|
![]()
|
|
| sergey_85 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 17.4.2007 Где: Россия, Челябинск Репутация: нет Всего: 1 |
Всем привет!
Qt4 У меня есть виджет, он является контейнером! Мне нужно ловить момент добавления на него дочерних контролов и если они наследованы от определенного класса (например BmsCWidget), то делать им иниц. вызовом метода BmsCWidget::setupControl(...); Есть ли такое событие? еще один момент: мне нужно событие когда контролу присваивается родитель. то есть когда вызывается control->setParent(); Обясню зачем: У меня есть дизайнер контролов на него из панели элементов юзер кидает разные контролы, среди них есть как обычные(кнопки фреймы, табы) так и специалыные переопределенные (наследники BmsCWidget), которые должны быть настроены по родителю, наследованному от BmsCWidget, а если его нет, то по главному виждету. Это сообщение отредактировал(а) sergey_85 - 18.2.2010, 11:18 -------------------- A good design always pays off. |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 7 Всего: 162 |
sergey_85, Вы забыли указать тулкит
|
|||
|
||||
| sergey_85 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 17.4.2007 Где: Россия, Челябинск Репутация: нет Всего: 1 |
поправил
Это сообщение отредактировал(а) sergey_85 - 18.2.2010, 11:12 -------------------- A good design always pays off. |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Мне кажется, что эти два события
и есть одно и то же. Если так, то достаточно переопределить setParent() у наследников BmsCWidget и делать свои чёрные дела Это сообщение отредактировал(а) borisbn - 18.2.2010, 11:58 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| sergey_85 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 17.4.2007 Где: Россия, Челябинск Репутация: нет Всего: 1 |
void setParent ( QObject * parent ) is public not virtual
-------------------- A good design always pays off. |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Да, действительно, не вариант.
Можно в функции YourWindow::event() [virtual protected] проверять если event->type() == QEvent::ChildAdded, то ... и т.д. Это сообщение отредактировал(а) borisbn - 18.2.2010, 14:28 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| sergey_85 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 17.4.2007 Где: Россия, Челябинск Репутация: нет Всего: 1 |
да можно и так еще накопал одно
но вот беда она не вызывается если контрол был кинут на форму или создан там динамически! (нет вызова события при первом присвоении родителя) Это сообщение отредактировал(а) sergey_85 - 18.2.2010, 23:29 -------------------- A good design always pays off. |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |