Russian Qt Forum
Июня 16, 2025, 15:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2 3   Вниз
  Печать  
Автор Тема: Корректное отображение картинки с альфаканалом на виджете  (Прочитано 23681 раз)
pitekantrop
Гость
« : Января 22, 2010, 11:30 »

Всем привет. Вопрос такой: как сделать так, чтобы картинка с альфаканалом корректно отображалась на видгете? Если просто поместить её на оный, то альфаканал будет игнорироваться, и картинка будет отображаться не так, как, например, над объектом типа QGraphicsView. Заранее спасибо.
Записан
SABROG
Гость
« Ответ #1 : Января 22, 2010, 12:38 »

Нарисуйте чего вы хотите добиться.
Записан
pitekantrop
Гость
« Ответ #2 : Января 22, 2010, 12:52 »

картинка на виджете выглядит так: http://img42.imageshack.us/img42/390/19336189.png, а должна иметь вид http://img704.imageshack.us/img704/5029/42539447.png (т.к. имеет альфаканал)
Записан
SASA
Гость
« Ответ #3 : Января 22, 2010, 13:34 »

Я рисовал в паитере. Сначала заливал паинтер прозрачным цветом, потом отрисовывал туда куртинку.
Записан
pitekantrop
Гость
« Ответ #4 : Января 22, 2010, 14:35 »

Пробовал и так - результат такой же..
И у Вас альфаканал начинал работать?
Записан
SASA
Гость
« Ответ #5 : Января 22, 2010, 15:04 »

Вы рисете через Qpixmap? Если да, то что возвращает QPixmap::hasAlpha?
Записан
pitekantrop
Гость
« Ответ #6 : Января 22, 2010, 15:22 »

да, true - в противном случае все было бы гораздо проще.. )
Записан
SABROG
Гость
« Ответ #7 : Января 22, 2010, 15:27 »

У виджета стоит setAutofilBackground(false)?
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #8 : Января 22, 2010, 16:15 »

всё должно быть нормально с альфа каналом.
А из приведённых картинок я альфа канала в упор не наблюдаю, только чёрный фон.
Записан

Юра.
pitekantrop
Гость
« Ответ #9 : Января 22, 2010, 16:25 »

У виджета стоит setAutofilBackground(false)?
ставил - результат не меняется..
Записан
pitekantrop
Гость
« Ответ #10 : Января 22, 2010, 16:43 »

всё должно быть нормально с альфа каналом.
в мире еще не должно быть войн, голодных детей и ненависти.. )
А из приведённых картинок я альфа канала в упор не наблюдаю, только чёрный фон.
дело не в фоне, а в отображении самой картинки..
Записан
ax
Чайник
*
Offline Offline

Сообщений: 60


Просмотр профиля
« Ответ #11 : Января 22, 2010, 16:43 »

Если виджет top-level добавь
Код:
widget->setWindowFlags(Qt::FramelessWindowHint);
widget->setAttribute(Qt::WA_TranslucentBackground);
Записан
pitekantrop
Гость
« Ответ #12 : Января 22, 2010, 16:55 »

наверное помогло бы, но у меня версия Qt 4.4.3 - там этой фичи нет..
Записан
ax
Чайник
*
Offline Offline

Сообщений: 60


Просмотр профиля
« Ответ #13 : Января 22, 2010, 17:05 »

Тогда может http://www.qtcentre.org/wiki.php?title=ARGB-Widgets поможет.
Записан
SABROG
Гость
« Ответ #14 : Января 22, 2010, 17:13 »

Что это за виджет кнопка, который является отдельным окном?

Выложите минимальный компилируемый пример.
Записан
Страниц: [1] 2 3   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.022 секунд. Запросов: 20.