Редактирование: Рисование поверх дочерних виджетов
Материал из Wiki.crossplatform.ru
Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 31: | Строка 31: | ||
Напрашивается другое решение - installEventFilter для каждого ребенка. Далее ловим событие Qt::Paint. | Напрашивается другое решение - installEventFilter для каждого ребенка. Далее ловим событие Qt::Paint. | ||
- | + | {{code|code= | |
static void childsRecursive(QObject *object, QWidget *watcher, bool install) | static void childsRecursive(QObject *object, QWidget *watcher, bool install) | ||
{ | { | ||
Строка 48: | Строка 48: | ||
} | } | ||
} | } | ||
- | + | }} | |
Тут мы сталкиваемся с еще одной проблемой. '''У нас есть 2 выбора:''' | Тут мы сталкиваемся с еще одной проблемой. '''У нас есть 2 выбора:''' | ||
Строка 58: | Строка 58: | ||
В этом нам поможет QApplication::sendEvent: | В этом нам поможет QApplication::sendEvent: | ||
- | + | {{code|code= | |
bool form::eventFilter(QObject *obj, QEvent *event) | bool form::eventFilter(QObject *obj, QEvent *event) | ||
{ | { | ||
Строка 95: | Строка 95: | ||
} | } | ||
- | + | }} | |
Исходный код примера можно взять [http://www.forum.crossplatform.ru/index.php?act=attach&type=post&id=636 тут]. | Исходный код примера можно взять [http://www.forum.crossplatform.ru/index.php?act=attach&type=post&id=636 тут]. |