Название: [QT 4.5.0] Перехват отрисовки у виджета - как заглушить всю отрисовку? Отправлено: Toha_r от Апрель 09, 2009, 17:14 Добрый день всем!
Мне необходимо полностью перехватить отрисовку виджета, т.е. что бы он полностью рисовался на мой буфер. Частично это получилось. Вывел свой класс из QTextEdit. Переопределил в нем функции event(...) и paintEvent(...) для того, что бы заглушить отрисовку виджета. В целом это получилось. Но бэкграунд виджета настырно продолжает рисоваться. Перерыл практически весь QT, но так и не нашел возможности его убрать. Может кто сталкивался с данной проблемой или подскажет как это можно побороть? header: Код
source: Код
Название: Re: [QT 4.5.0] Перехват отрисовки у виджета - как заглушить всю отрисовку? Отправлено: _OLEGator_ от Апрель 09, 2009, 19:21 Такое, на скорую руку:
Код
Название: Re: [QT 4.5.0] Перехват отрисовки у виджета - как заглушить всю отрисовку? Отправлено: Toha_r от Апрель 10, 2009, 10:40 Не помогло. >:(
Так же не помогает устанавливать бэкграунд в другой цвет (т.е. rgb(...) и rgba(...)). Виджет продолжает рисовать, в том месте где стоит, белым цветом (RGB(255,255,255)). Название: Re: [QT 4.5.0] Перехват отрисовки у виджета - как заглушить всю отрисовку? Отправлено: EhTemka от Апрель 10, 2009, 15:40 А если сделать его полностью прозрачным?
Код
Название: Re: [QT 4.5.0] Перехват отрисовки у виджета - как заглушить всю отрисовку? Отправлено: SABROG от Апрель 11, 2009, 16:28 У QTextEdit есть viewport(), его эвенты тоже надо переопределять.
Название: Re: [QT 4.5.0] Перехват отрисовки у виджета - как заглушить всю отрисовку? Отправлено: Toha_r от Апрель 15, 2009, 14:00 У QTextEdit есть viewport(), его эвенты тоже надо переопределять. Переопределение viewportEvent(...) не помогло. Если следующим образом: Код
То при выполнении валится на создании шрифтов, не создан контекст рисования. Вот если бы можно было подсунуть свой контекст рисования QTextEdit-у, то это решило бы все проблемы. Но я так и не нашел способа это сделать. Название: Re: [QT 4.5.0] Перехват отрисовки у виджета - как заглушить всю отрисовку? Отправлено: pastor от Апрель 15, 2009, 14:05 А нелегче тогда использовать QTextDocument и его метод drawContents чтобы рисовать в свой буфер?
Название: Re: [QT 4.5.0] Перехват отрисовки у виджета - как заглушить всю отрисовку? Отправлено: Toha_r от Апрель 15, 2009, 14:14 А нелегче тогда использовать QTextDocument и его метод drawContents чтобы рисовать в свой буфер? У QTextDocument нету возможностей для редактирования, как у QTextEdit. И в доке написано что для редактирования использовать QTextEdit. Название: Re: [QT 4.5.0] Перехват отрисовки у виджета - как заглушить всю отрисовку? Отправлено: pastor от Апрель 15, 2009, 14:22 Тогда, сорри. Задача не ясна
|