Редактирование: Рисование поверх дочерних виджетов

Материал из Wiki.crossplatform.ru

Перейти к: навигация, поиск
Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 31: Строка 31:
Напрашивается другое решение - installEventFilter для каждого ребенка. Далее ловим событие Qt::Paint.
Напрашивается другое решение - installEventFilter для каждого ребенка. Далее ловим событие Qt::Paint.
-
<source lang="cpp-qt">
+
{{code|code=
static void childsRecursive(QObject *object, QWidget *watcher, bool install)
static void childsRecursive(QObject *object, QWidget *watcher, bool install)
{
{
Строка 48: Строка 48:
     }
     }
}
}
-
</source>
+
}}
Тут мы сталкиваемся с еще одной проблемой. '''У нас есть 2 выбора:'''
Тут мы сталкиваемся с еще одной проблемой. '''У нас есть 2 выбора:'''
Строка 58: Строка 58:
В этом нам поможет QApplication::sendEvent:
В этом нам поможет QApplication::sendEvent:
-
<source lang="cpp-qt">
+
{{code|code=
bool form::eventFilter(QObject *obj, QEvent *event)
bool form::eventFilter(QObject *obj, QEvent *event)
{
{
Строка 95: Строка 95:
}
}
-
</source>
+
}}
Исходный код примера можно взять [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 тут].

Пожалуйста, обратите внимание, что все ваши добавления могут быть отредактированы или удалены другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Wiki.crossplatform.ru:Авторское право). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!