![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Litkevich Yuriy |
![]()
Сообщение
#11
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Да, что-то оно ни вкакую не рисуется. Я уже два класса сделал из одного в другой событие шлю.
Заметил: Первый раз отправленное событие отрабатывает нормально, но все последующие разы событие paintEvent происходит, но QPainter ругается: Цитата QPainter::begin: Widget painting can only begin as a result of a paintEvent Такое ощущение, как будто чего-то не доделываю до конца. Исходники: ![]() |
|
|
igor_bogomolov |
![]()
Сообщение
#12
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
событие paintEvent происходит, но QPainter ругается Пытался разобраться в данном вопросе. Не смог ![]() При вызове paintEvent через postEvent, paint.paintEngine() возвращает 0. Данное поведение сокрыто где-то здесь Раскрывающийся текст
Еще пробовал разобраться, как работает метод update(). В нем событие высылается так: Раскрывающийся текст
QUpdateLaterEvent для нас недоступен. Реализаций метода repaint_sys и класса QWidgetBackingStore не смог даже найти, ни раками, ни через поиск. Как-то все слишком сложно для меня оказалось. Да и нужно ли в этом разбираться? Все равно так делать никто ни будет. Есть ведь метод update. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#13
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Все равно так делать никто ни будет. Есть ведь метод update. да просто интересно, если можно посылать событие типа QEvent::Paint, то как, где и когда?Реализаций метода repaint_sys это поидее в приватной части (QWidgetPrivate), на которую d-указатель ссылается.
|
|
|
igor_bogomolov |
![]()
Сообщение
#14
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
да просто интересно Конечно интересно. Поэтому и пробовал разобраться ![]() это поидее в приватной части (QWidgetPrivate), на которую d-указатель ссылается. Это я понимаю. Объявление функции в классе есть (в QWidgetPrivate). Реализации я найти не смог. Посмотри исходники. Если найдешь, скажи пожалуйста где. Я не нашел, и поисковик ничего не дал.
Сообщение отредактировал igor_bogomolov - 22.5.2009, 12:18 |
|
|
Rocky |
![]()
Сообщение
#15
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: ![]() ![]() ![]() |
Не совсем по теме, но вот эта вещь, narik1985, имхо бесмысленна:
нужно либо #ifndef (#if !defined), либо потом не #define, a #undef и потом #define. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#16
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
ну да, перепутал человек.
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 27.2.2025, 7:02 |