crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

11 страниц V  « < 4 5 6 7 8 > »   
Ответить в данную темуНачать новую тему
> QPaintEvent, installEventFilter, QPainter, Overpainting
Litkevich Yuriy
  опции профиля:
сообщение 27.5.2009, 17:49
Сообщение #51


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


а есть ещё такая штука как двойная буферизация, её можно запрещать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 27.5.2009, 17:57
Сообщение #52


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Цитата(Litkevich Yuriy @ 27.5.2009, 18:49) *
а есть ещё такая штука как двойная буферизация, её можно запрещать.
Лучше этого не делать. Я уже пробовал. Во первых нам это ничем не помогает, во вторых при ресайзе предыдущее отображение на затирается
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 27.5.2009, 17:58
Сообщение #53


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Цитата(Litkevich Yuriy @ 27.5.2009, 18:49) *
а есть ещё такая штука как двойная буферизация, её можно запрещать.

Установка флагов Qt::WA_PaintOnScreen или Qt::WA_PaintOnScreen для детей приводит к крашу, также как и w->setAutoFillBackground(false);
---
Пардон, это я забыл одно место раскомментировать. В общем всё равно флаги ничем не помогли, autoFillBackground(false) сделал у QListWidget'a фон списка не белым, а как у основного окна.

Сообщение отредактировал SABROG - 27.5.2009, 18:06
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 27.5.2009, 18:02
Сообщение #54


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


SABROG, да объясни же, чем не устраивает полученное решение
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 27.5.2009, 18:11
Сообщение #55


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Цитата(igor_bogomolov @ 27.5.2009, 19:02) *
SABROG, да объясни же, чем не устраивает полученное решение

Ну вот если рисовать QPixmap, он же по идее будет рисоваться медленней с ростом количества окон, да и на скрине почему-то в некоторых местах у тебя синяя рамка перекрывает красные линии. К тому же как я уже говорил тут возникает проблема с прозрачностью. Прозрачный фон у виджетов накладывается друг на друга и в итоге я получаю совсем другой цвет. Да и сама по себе проблема до конца не решена.

Сообщение отредактировал SABROG - 27.5.2009, 18:12
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 27.5.2009, 18:24
Сообщение #56


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Цитата(SABROG @ 27.5.2009, 19:11) *
на скрине почему-то в некоторых местах у тебя синяя рамка перекрывает красные линии
В моем примере фильтр устоновлен для textedit->viewport(), для самого textedit - не установлен. Если восползоваться твоей функцией childsRecursive, все будет рисоваться нормально.
Цитата(SABROG @ 27.5.2009, 19:11) *
проблема с прозрачностью
Эт я не проверял. Надо будет посмотреть.
Цитата(SABROG @ 27.5.2009, 19:11) *
Да и сама по себе проблема до конца не решена.
Поподробнее. Что не решено.

Для чего понадобилось рисовать поверх виджетов? Только для этого
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 27.5.2009, 19:48
Сообщение #57


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Много чего придумать можно. Тот же эффект падающего снега. Разные спец.эффекты.

Похоже уже есть смысл копать в сторону backingstore и paintEngine.

Сообщение отредактировал SABROG - 27.5.2009, 20:00
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 27.5.2009, 21:05
Сообщение #58


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Цитата(SABROG @ 27.5.2009, 15:56) *
это альфа-канал, который ставится каждому чайлду. Но из-за того, что прозрачные бэкграунды наслаиваются друг на друга местами альфа-канал суммируется и происходит лажа.
Назнач для кождого такого виджета, с которым лажа происходит, свойство setAutoFillBackground(true). Лажа пропадет :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 27.5.2009, 21:12
Сообщение #59


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Ладно, чтобы завершить тему, можешь выложить пример, где бы поверх чайлдов рисовалась картинка с альфа-каналом?

А то я уже устал, если честно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 27.5.2009, 21:40
Сообщение #60


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Цитата(SABROG @ 27.5.2009, 22:12) *
Ладно, чтобы завершить тему, можешь выложить пример, где бы поверх чайлдов рисовалась картинка с альфа-каналом?
Могу конечно. Подчищу проек немного от экспериментов, выложу.


Цитата(SABROG @ 27.5.2009, 22:12) *
А то я уже устал, если честно.
Это твоя тема, тебе решать. Я лишь помочь пытался, в силу своих возможностей.

Transparent Backgrounds in Qt 4.1
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

11 страниц V  « < 4 5 6 7 8 > » 
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 18.11.2024, 1:07