![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Litkevich Yuriy |
![]()
Сообщение
#11
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
SABROG |
![]()
Сообщение
#12
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
В другом методе например, вызываемым внутри eventFilter'a. ну это и будет в фильтре событий.Всё, что я хочу сказать, это то, что на методе paintEvent свет не сошелся при отрисовке, главное создать правильные условия/событие. Но мы отклонились от темы, рисовать не вопрос. void QWidget::update ( const QRect & rect ) - не знаю как его можно прикрутить к фильтру событий, это надо его как-то вызвать на ребенке, чтобы он и линию не затер и себя смог отрисовать, врятли это возможно. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#13
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
SABROG, для случая не окна, глянь-ка сюда
и ещё вот как делают троли: интересные места выделены в коментариях
|
|
|
SABROG |
![]()
Сообщение
#14
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
До этих мест я добрался уже давно, но никак не могу понять в чем разница. Если ключ в QApplication::sendEvent(object, event);, то почему у меня это приводит к рекурсии и как следствие к крашу...
--- Тэкс похоже этот m_widget что-то типа моего флага:
Сообщение отредактировал SABROG - 26.5.2009, 16:25 |
|
|
kwisp |
![]()
Сообщение
#15
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
SABROG |
![]()
Сообщение
#16
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
Похоже получается.
![]() Как я понял sendEvent вызывает цикл eventFilter еще раз и таким образом заставляет нарисоваться виджетам. А нулевой m_widget (в моем случае обычный flag типа bool) нужен, чтобы прервать бесконечный цикл. Значит я все-таки рыл в правильную сторону. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#17
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
SABROG |
![]()
Сообщение
#18
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
Похоже получается. т.е. эти чёрные линии ты нарисовал поверх виджета в фильтре событий?Первая линия рисуется для centralWidget(), вторая для его чайлдов, в данном случае это только QGroupBox, т.к. надо еще писать функцию рекурсии, чтобы пройтись по всему дереву, а у меня пока руки не дошли. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#19
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
а можешь тестовый примерчик вылочить, с минимумом виджетов. Найду время тоже побалуюсь.
|
|
|
SABROG |
![]()
Сообщение
#20
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 18.2.2025, 6:51 |