crossplatform.ru

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

kwisp
  опции профиля:
сообщение 25.2.2009, 13:34
Сообщение #1


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


реализовывал ли кто нибудь полупрозрачность???
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
7 страниц V   1 2 3 > »   
Начать новую тему
Ответов (1 - 64)
ViGOur
  опции профиля:
сообщение 25.2.2009, 13:45
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


QPainter::setOpacity

Глянь: Константин писал
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 25.2.2009, 13:55
Сообщение #3


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Цитата(ViGOur @ 25.2.2009, 13:45) *
QPainter::setOpacity


спасибо,
немного не то.
этот метод делает кучу пикселей прозрачными и распределяет по непрозрачной области смотрится не важно вообще.

ищу сейчас красивую полупрозрачность...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 25.2.2009, 14:47
Сообщение #4


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


Цитата(kwisp @ 25.2.2009, 13:55) *
ищу сейчас красивую полупрозрачность...
Это как? :)

Картинку полупрозрачную?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 25.2.2009, 15:09
Сообщение #5


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Цитата(ViGOur @ 25.2.2009, 14:47) *
Это как?


да вот коллега по работе гооврит что нельзя сделать в Qt полупрозрачнео меню без рамки а под меню идет фильм. при том фиьм выводится через какой нить плеер не кюти способами...
короче необходимо сделать просто полупрозрачный виджет с непрозрачными надписчями... что то типо того.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 25.2.2009, 15:31
Сообщение #6


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

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

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




Репутация:   34  


Цитата(kwisp @ 25.2.2009, 15:09) *
да вот коллега по работе гооврит что нельзя сделать в Qt полупрозрачнео меню без рамки

Он прав. В Qt нет средств, чтобы делать это кроссплатформенно. Отдельно для каждой платформы - не вопрос. Да и то может потребоваться в xorg.conf прописать настройки, чтобы поддерживалась композиция.

FAQ троллей: http://www.qtsoftware.com/developer/faqs/f...2-08.3940505976

http://www.qtcentre.org/forum/f-qt-program...ndows-8395.html

Сообщение отредактировал SABROG - 25.2.2009, 15:32
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
void*
  опции профиля:
сообщение 25.2.2009, 15:32
Сообщение #7


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

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




Репутация:   3  


единственное что еще подобное есть насколько я знаю это QWidget::setWindowOpacity(qreal)
хотя это походу не то...

Сообщение отредактировал void* - 25.2.2009, 15:33
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 25.2.2009, 15:40
Сообщение #8


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

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

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




Репутация:   34  


Просто надо разделить понятие полу-прозрачности и частичной полу-прозрачности. Первое не вопрос, второе гемор.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 25.2.2009, 16:05
Сообщение #9


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Цитата(SABROG @ 25.2.2009, 15:31) *
Он прав.

досадно.
он сейчас сидит разбирается с оверлеем.

будем думать дальше:)

а если изменить задачу.
пустья qt методами показываю фильм и хочу повех его показать полупрозрачное меню.
есть варианты??
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 25.2.2009, 16:30
Сообщение #10


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

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

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




Репутация:   34  


Цитата(kwisp @ 25.2.2009, 16:05) *
пустья qt методами показываю фильм и хочу повех его показать полупрозрачное меню.
есть варианты??


Да, переопределить paintEvent у того виджета, что будет показывать видео и рисовать что угодно, тогда прокатит. Хотя я бы тогда попробовал рисовать сразу на видео фрейм.

Нашел исходник QAlphaWidget - http://www.qtwiki.de/wiki/ARGB_Widgets_unter_Windows Работает только под винду, судя по всему.

Сообщение отредактировал SABROG - 25.2.2009, 16:34
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 27.2.2009, 15:18
Сообщение #11


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


никто пример с птичкой не качал?
у меня не получается слить его
:(

svn://labs.trolltech.com/svn/graphics/dojo/argb

везде ссылки на него а кода нет....

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


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

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

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




Репутация:   34  


Пример с птичкой работает только под X'ами. Вот держи: http://ktown.kde.org/~zrusin/examples/argb.tar.bz2
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 27.2.2009, 16:02
Сообщение #13


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Цитата(SABROG @ 27.2.2009, 15:56) *
Пример с птичкой работает только под X'ами. Вот держи:


под ними родимыми и надо.

спасибо тебе добрый человек.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.2.2009, 17:35
Сообщение #14


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

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

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




Репутация:   94  


Цитата(kwisp @ 27.2.2009, 18:18) *
у меня не получается слить его
а что не получается, запусти KDESVN и извлеки рабочую копию.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 27.2.2009, 17:38
Сообщение #15


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Litkevich Yuriy,
если честно времени нет чтоб из под винды лезть.... пару человек из отдела попробовало из линуха слить какие то проблемы.... хранилище недоступно.. видно неполадка с заморочемым нашим рабочим проскси-интернетом и версией свн...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 5.3.2009, 22:17
Сообщение #16


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

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

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




Репутация:   34  


Поздравляю, в 4.5 добавили возможность частичной полу-прозрачности:

Цитата
Creating Translucent Windows

Since Qt 4.5, it has been possible to create windows with translucent regions on window systems that support compositing.

To enable this feature in a top-level widget, set its Qt::WA_TranslucentBackground attribute with setAttribute() and ensure that its background is painted with non-opaque colors in the regions you want to be partially transparent.

Platform notes:

* X11: This feature relies on the use of an X server that supports ARGB visuals and a compositing window manager.
* Windows: This feature requires Windows 2000 or later.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 6.3.2009, 0:02
Сообщение #17


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Цитата(SABROG @ 5.3.2009, 22:17) *
Поздравляю, в 4.5 добавили возможность частичной полу-прозрачности:

клева.
жаль только в текущем проекте мне это не поможет. скорее всего будет отрисовка прям в оверлей фрейм и производиться не мной ...
но на будущее:) огого!!!
да и так очень приятно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 6.3.2009, 0:31
Сообщение #18


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

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

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




Репутация:   34  


Там есть одна особенность без которой ничего не работает :)

Написал демку в блоге как сделать такое окно:

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 6.3.2009, 9:31
Сообщение #19


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Цитата(SABROG @ 6.3.2009, 0:31) *
Там есть одна особенность без которой ничего не работает

это ты о чем?
об оверлее что ли? или о прозрачности вообще.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 6.3.2009, 10:03
Сообщение #20


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

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

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




Репутация:   34  


Цитата(kwisp @ 6.3.2009, 9:31) *
Цитата(SABROG @ 6.3.2009, 0:31) *
Там есть одна особенность без которой ничего не работает

это ты о чем?
об оверлее что ли? или о прозрачности вообще.

О флаге Qt::FramelessWindowHint. Без него не будет никакой прозрачности.

Немного в другую тему, но меня порадовала технология "Alien Widget". Пользователь думает, что перед ним обычное окно на базе ядра ОС, а на деле в программе может быть всего одно реальное окно - родительское и любое количество дочерних, которые окнами не являются, не имеют winid и всякими findwindow, spy и прочем не находятся. По сути - нарисованные на главном окне.
Если я не ошибаюсь, то для windows порог GDI объектов - 10000. А для Qt теперь этот порог ограничивается разве что мощностью компьютера.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
log1c
  опции профиля:
сообщение 6.3.2009, 10:05
Сообщение #21


Студент
*

Группа: Участник
Сообщений: 29
Регистрация: 29.12.2008
Пользователь №: 472

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




Репутация:   0  


А сделать, например, чтобы окно было полупрозрачным (не целиком прозрачным как с помощью этой фишки), а сами child`ы непрозрачные, можно?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 6.3.2009, 11:54
Сообщение #22


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

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

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




Репутация:   34  


Цитата(log1c @ 6.3.2009, 10:05) *
не целиком прозрачным как с помощью этой фишки

А где ты здесь увидел полную прозрачность.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
log1c
  опции профиля:
сообщение 6.3.2009, 12:03
Сообщение #23


Студент
*

Группа: Участник
Сообщений: 29
Регистрация: 29.12.2008
Пользователь №: 472

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




Репутация:   0  


Я имел ввиду полную прозрачность главного виджета, без учета его чайлдов.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 6.3.2009, 12:12
Сообщение #24


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

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

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




Репутация:   34  


Цитата(log1c @ 6.3.2009, 12:03) *
Я имел ввиду полную прозрачность главного виджета, без учета его чайлдов.

Я так думаю, что setOpacity в этом случае не сработает. Надо будет самому переопределять paintEvent главного окна и рисовать прозрачность в тех местах где тебе надо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 6.3.2009, 12:17
Сообщение #25


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Цитата(SABROG @ 6.3.2009, 10:03) *
О флаге Qt::FramelessWindowHint. Без него не будет никакой прозрачности.

если честно странно звучит. буде время обязательно проверю.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 6.3.2009, 22:42
Сообщение #26


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

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

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




Репутация:   34  


Цитата(log1c @ 6.3.2009, 12:03) *
Я имел ввиду полную прозрачность главного виджета, без учета его чайлдов.

Так можно:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
log1c
  опции профиля:
сообщение 6.3.2009, 23:51
Сообщение #27


Студент
*

Группа: Участник
Сообщений: 29
Регистрация: 29.12.2008
Пользователь №: 472

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




Репутация:   0  


ну ет не сапсем то ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 6.3.2009, 23:55
Сообщение #28


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

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

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




Репутация:   34  


Цитата(log1c @ 6.3.2009, 23:51) *
ну ет не сапсем то ;)

Нарисуй как ты это видишь.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
log1c
  опции профиля:
сообщение 7.3.2009, 0:40
Сообщение #29


Студент
*

Группа: Участник
Сообщений: 29
Регистрация: 29.12.2008
Пользователь №: 472

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




Репутация:   0  


Ну вот смотри, есть виджет, на нем кнопка, сделать чтобы виджет был наполовину прозрачным, а кнопка была целиком непрозрачной (тоесть обычной).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 8.3.2009, 12:29
Сообщение #30


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


log1c,
по моему кнопка вторая снизу которая под фокусом именно такая.
Цитата(log1c @ 7.3.2009, 0:40) *
виджет был наполовину прозрачным, а кнопка была целиком непрозрачной (тоесть обычной).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
log1c
  опции профиля:
сообщение 8.3.2009, 12:58
Сообщение #31


Студент
*

Группа: Участник
Сообщений: 29
Регистрация: 29.12.2008
Пользователь №: 472

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




Репутация:   0  


Цитата(kwisp @ 8.3.2009, 12:29) *
log1c,
по моему кнопка вторая снизу которая под фокусом именно такая.
Цитата(log1c @ 7.3.2009, 0:40) *
виджет был наполовину прозрачным, а кнопка была целиком непрозрачной (тоесть обычной).



Под наполовину прозрачным я подразумевал не обрезание виджета в некоторой области видимости, а альфа канал :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 8.3.2009, 13:00
Сообщение #32


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Цитата(log1c @ 8.3.2009, 12:58) *
Под наполовину прозрачным я подразумевал не обрезание виджета в некоторой области видимости, а альфа канал

посмотри внимательно на кнопку которая под фокусом.:) !!!! она единственная необрезанная.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
log1c
  опции профиля:
сообщение 8.3.2009, 13:29
Сообщение #33


Студент
*

Группа: Участник
Сообщений: 29
Регистрация: 29.12.2008
Пользователь №: 472

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




Репутация:   0  


Цитата(kwisp @ 8.3.2009, 13:00) *
Цитата(log1c @ 8.3.2009, 12:58) *
Под наполовину прозрачным я подразумевал не обрезание виджета в некоторой области видимости, а альфа канал

посмотри внимательно на кнопку которая под фокусом.:) !!!! она единственная необрезанная.


Да я вижу))) Но где там видно, чтобы виджет, которому принадежит кнопка, был полупрозрачным (я вижу там виджет обрезанный пиксмапом) ;) Давай по-другому, вот представь, нету там никакого пиксмапа, обычный виджет, на нем обычная кнопка)) Сделать так чтобы виджет был полупрозрачным (ну или с любой другой частотой альфа-канала), а кнопка была обычной...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 8.3.2009, 13:35
Сообщение #34


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Цитата(log1c @ 8.3.2009, 13:29) *
Но где там видно, чтобы виджет, которому принадежит кнопка, был полупрозрачным

блин или я туплю или одно из двух. :(

что мешает использовать полупрозрачную картинку в фоне виджета или самому отрисовывать его фон, или именно принципиально то что нельзя использовать маски картинок???
на картинке которую прикрепил SABROG к своему посту на синем полупрозрачном кружке не написано что это картинка, что мешает сделать не кружок а прямоугольник?? и визуально будешь считать что это виджет.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
log1c
  опции профиля:
сообщение 8.3.2009, 13:45
Сообщение #35


Студент
*

Группа: Участник
Сообщений: 29
Регистрация: 29.12.2008
Пользователь №: 472

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




Репутация:   0  


Цитата(kwisp @ 8.3.2009, 13:35) *
Цитата(log1c @ 8.3.2009, 13:29) *
Но где там видно, чтобы виджет, которому принадежит кнопка, был полупрозрачным

блин или я туплю или одно из двух. :(

что мешает использовать полупрозрачную картинку в фоне виджета или самому отрисовывать его фон, или именно принципиально то что нельзя использовать маски картинок???
на картинке которую прикрепил SABROG к своему посту на синем полупрозрачном кружке не написано что это картинка, что мешает сделать не кружок а прямоугольник?? и визуально будешь считать что это виджет.


Ну так то да, так сделать то можно, но я спрашивал именно не применяя ничего лишнего к виджету, основываясь чисто не пропертях виджета :)

[оффтоп]
Почему я не могу отправить личное сообщение юзверю на этом форуме :)
[/оффтоп]
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 8.3.2009, 13:54
Сообщение #36


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


log1c,
ясно.
только я в псостах выше ни слова не нашел что только через свойства виджета без
Цитата(log1c @ 8.3.2009, 13:45) *
ничего лишнего к виджету,

:(

P.S.
впредь постараюсь читать между строк.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
log1c
  опции профиля:
сообщение 8.3.2009, 13:56
Сообщение #37


Студент
*

Группа: Участник
Сообщений: 29
Регистрация: 29.12.2008
Пользователь №: 472

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




Репутация:   0  


Цитата(kwisp @ 8.3.2009, 13:54) *
log1c,
ясно.
только я в псостах выше ни слова не нашел что только через свойства виджета без
Цитата(log1c @ 8.3.2009, 13:45) *
ничего лишнего к виджету,

:(

P.S.
впредь постараюсь читать между строк.


Извините за это, каюсь :(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 8.3.2009, 14:56
Сообщение #38


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

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

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




Репутация:   34  


Цитата(log1c @ 8.3.2009, 13:45) *
...но я спрашивал именно не применяя ничего лишнего к виджету, основываясь чисто не пропертях виджета :)

Извини конечно, но я ничего доказывать не должен. Потратил бы ты 5 минут своего времени, чтобы почитать документацию и понял бы сам, что все возможно:

Скажу лишь, что в paintEvent всего 4 строчек кода. Конструктор QPainter'a и 3 строчки на манипуляцию с альфа-каналом.

У первого виджета QGroupBox autoFillBackground=false, у второго true. Альфа-канал я контролирую сам, виджет не отрисовываю, маски не ставлю.

Я конечно понимаю, что всем хочется скопировать Vist'у, но прилагайте свои усилия тоже...

P.S.: titlebar'a нету, т.к. не работает эта функция без флага Qt::FramelessWindowHint

Сообщение отредактировал SABROG - 8.3.2009, 14:59
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
log1c
  опции профиля:
сообщение 8.3.2009, 15:53
Сообщение #39


Студент
*

Группа: Участник
Сообщений: 29
Регистрация: 29.12.2008
Пользователь №: 472

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




Репутация:   0  


да лично в моих целях меня устраивает и полная прозрачность виджета, а это я просто спросил, и никого ничего доказывать я не просил, так что зря ты так <_<

но все равно спасибо :clapping:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 8.3.2009, 15:55
Сообщение #40


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

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

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




Репутация:   34  


Цитата(log1c @ 8.3.2009, 15:50) *
да лично в моих целях меня устраивает и полная прозрачность виджета, а это я просто спросил, и никого ничего доказывать я не просил, так что зря ты так <_<

Я извинился, т.ч. не зря. Кроме того это уже третий раз когда я пытаюсь донести то, что это возможно, а мне говорят "это не то, хочу без округлостей".
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
log1c
  опции профиля:
сообщение 8.3.2009, 16:05
Сообщение #41


Студент
*

Группа: Участник
Сообщений: 29
Регистрация: 29.12.2008
Пользователь №: 472

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




Репутация:   0  


Ладно, спасибо тебе :) Думаю не буим писать оффтоп тут, мож у кого еще вопросы появяца про прозрачность :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 8.3.2009, 16:25
Сообщение #42


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Цитата(SABROG @ 8.3.2009, 15:55) *
а мне говорят "это не то, хочу без округлостей".

+1
извините что не в тему:)
и у меня такое присутствует. сформулирует вопрос кто нить не полностью и понеслась ответы типа:
Цитата
да это то понятно я хочу и (приводят факт который не указывали в первом посте)

и так в 10 сообщениях выясняется что же нужно на самом деле?
это ведет к росту темы по сообщениям и сложно отследить конечную цель. засадная вещь вообще.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
log1c
  опции профиля:
сообщение 8.3.2009, 16:31
Сообщение #43


Студент
*

Группа: Участник
Сообщений: 29
Регистрация: 29.12.2008
Пользователь №: 472

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




Репутация:   0  


да ладно вам, зато скока всего интересного написали, вдруг кому-то понадобится именно то, что вы писали, зайдет в топик и вот оно! :rolleyes:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 12.3.2009, 0:38
Сообщение #44


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

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

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




Репутация:   34  


Решил поэкспериментировать, а то ведь частичная прозрачность работает только с окнами с флагом Qt::FrameLessWindowHint, а у таких окон нет заголовка. Реализовал отрисовку станадртного titlebara, нажатие на клавишу заголовка, таскание за заголовок, размещение элементов управления на окне таким образом, чтобы они не перекрывали заголовок.

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
log1c
  опции профиля:
сообщение 12.3.2009, 11:36
Сообщение #45


Студент
*

Группа: Участник
Сообщений: 29
Регистрация: 29.12.2008
Пользователь №: 472

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




Репутация:   0  


А если допустим имеется свое главное окно, унаслед-е от QMainWindow в нем в качестве centralWidget QGraphicsScene/View. Сделал свой виджет (пусть будет MyWidget(QWidget *parent) ). В главном окне создал экземпляр MyWidget, в качестве парента передал centralWidget. Так вот, можно ли как-то сделать такой же эффект для MyWidget с Qt::WA_TranslucentBackground как если бы этот виджет был бы без парента?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 12.3.2009, 12:16
Сообщение #46


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

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

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




Репутация:   34  


Цитата(log1c @ 12.3.2009, 14:36) *
А если допустим имеется свое главное окно, унаслед-е от QMainWindow


Можно, но придется избавится от QMainWindow в пользу QWidget, соответственно и заголовок придется рисовать самому. И вместо центрального виджета использовать любой другой виджет с отключенным (false) autoFillBackground. В принципе если ты нарисуешь заголовок для главного окна, то для дочерних тоже будет не проблема. Но тут начинается геморрой с обработкой event'ов и надо хорошо разбираться как работают стили. Я вот сейчас не могу понять почему градиент на заголовке цветом - "синее" чем стандартный в винде, и почему не рисуется текст заголовка, хоть я его и прописываю.

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 12.3.2009, 12:19
Сообщение #47


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


SABROG,
так просто в небо пальцем - посмотри цвет шрифта которым прописываешь. может он совпадаетс цветом фона заголовка.:)
почему решил что синее?? вроде такой же.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 12.3.2009, 12:24
Сообщение #48


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

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

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




Репутация:   34  


Цитата(kwisp @ 12.3.2009, 12:19) *
SABROG,
так просто в небо пальцем - посмотри цвет шрифта которым прописываешь. может он совпадаетс цветом фона заголовка.:)
почему решил что синее?? вроде такой же.

Тыкал я пальцем, делал текст настолько длинным, чтобы он попадал уже на белую часть градиента. Не прокатило.
Ну может не синее, но явно отличается.
---
Кто-нибудь знает какие у голого QWidget'a флаги? Пришлось через qDebug() получить значение 134279169 и тупо сконвертить для оптиона:
o.titleBarFlags = static_cast<Qt::WindowType>(134279169);

Только после этого я добился этого. Но почему кнопка закрытия окна окантована понять не могу.

---
Какое-то у него странное поведение



Сообщение отредактировал SABROG - 12.3.2009, 13:57
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 17.3.2009, 16:10
Сообщение #49


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

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

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




Репутация:   34  


Красотаа :)



Понимание постепенно приходит...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
log1c
  опции профиля:
сообщение 17.3.2009, 16:15
Сообщение #50


Студент
*

Группа: Участник
Сообщений: 29
Регистрация: 29.12.2008
Пользователь №: 472

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




Репутация:   0  


8)
Прикольно!

Сообщение отредактировал log1c - 17.3.2009, 16:16
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 17.3.2009, 16:27
Сообщение #51


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

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

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




Репутация:   34  


Естественно заголовок зависит от стиля. Я лишь в paintEvent'e отрисовываю доступные компоненты окна. Сам лично ничего не рисую, что радует.

Сегодня на основе QRubberBand удалось сделать стандартное поведение окна при перетаскивании за заголовок. Чтобы понять разницу достаточно сравнить стандартное окно и winamp. Если тащить за заголовок обычного окна, то оно остается висеть неподвижно, но появляется серая прозрачная рамка (QRubberBand), которая показывает новое положение окна. При отпускании - окно перемещается в это место. А если таскать винамп или окна, где реализована эмуляция перетаскивания, то окно перемещается сразу же вслед за мышкой. Это не есть гуд для производительности.

Также научился определять стандартными средствами на какие кнопки был сделан клик, где клик был отпущен, находится ли курсор мышки на этом элементе или на каком-то другом (hover). Научился управлять состояниями элементов - нажать/отпустить кнопку и т.д. Довольно интересно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 17.3.2009, 21:04
Сообщение #52


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

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

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




Репутация:   34  


Откопал исходники QGraphicsWidget. Посмотрев внутрь увидел, что все что я делал уже реализовано. Попутно понял какой объем еще не сделан. Обидно то, что нельзя этот QGraphicsWidget создать тупо как окно не на сцене, чего я и пытаюсь добиться. Когда начинаешь углубляться в технологию понимаешь, что каждый пиксель на экране выверен, нет ничего простого и каждая минимальная функциональность дается потом и кровью.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 21.3.2009, 13:16
Сообщение #53


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

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

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




Репутация:   34  


Решил добавить фрейм окну и запутался. Стилизованные окна походу без фреймов работают:



Ну да, так и есть:

bool hasBorder = !style()->styleHint(QStyle::SH_TitleBar_NoBorder, &bar, widget);


Сообщение отредактировал SABROG - 21.3.2009, 13:28
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 21.3.2009, 13:46
Сообщение #54


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

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

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




Репутация:   94  


Цитата(SABROG @ 21.3.2009, 16:16) *
Стилизованные окна походу без фреймов работают:
чёто я не понял, что значит без фрэймов?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 21.3.2009, 14:55
Сообщение #55


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

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

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




Репутация:   34  


Цитата(Litkevich Yuriy @ 21.3.2009, 13:46) *
Цитата(SABROG @ 21.3.2009, 16:16) *
Стилизованные окна походу без фреймов работают:
чёто я не понял, что значит без фрэймов?

Border имеется ввиду (рамка). Для виндового стиля она рисуется, а для кастом стилей их рисовать не надо, помимо этого там еще замут есть с регионами, когда заголовки полуокруглые.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
posi4
  опции профиля:
сообщение 19.5.2009, 14:25
Сообщение #56


Студент
*

Группа: Участник
Сообщений: 52
Регистрация: 24.4.2009
Пользователь №: 707

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




Репутация:   0  


Думаю здесь этот вопрос будет уместен!

Хотелось бы сделать такую вещь: при выборе пункта меню, допустим комбо-бокса,
затемнялся бы экран полупрозрачным черным(наподобие того как это реализовано в Picasa 3, да и по моему в большинстве браузеров),
ну и собственно там где нибудь вводилось значение в лайн-эдит, например!

Вопрос: может это уже реализовано каким нибудь виджетом или какой нибудь script есть? идея воплощения этого у меня присутствует, но не хотелось бы тратить время!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 19.5.2009, 15:05
Сообщение #57


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

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

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




Репутация:   34  


Никогда не видел. Скрин можно?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 19.5.2009, 15:17
Сообщение #58


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

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

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




Репутация:   94  


Цитата(SABROG @ 19.5.2009, 19:05) *
Никогда не видел. Скрин можно?
ходи сюда: http://www.crossplatform.ru/
И ткни на любой сриншот, любой программы
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
posi4
  опции профиля:
сообщение 19.5.2009, 15:25
Сообщение #59


Студент
*

Группа: Участник
Сообщений: 52
Регистрация: 24.4.2009
Пользователь №: 707

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 19.5.2009, 16:17) *
Цитата(SABROG @ 19.5.2009, 19:05) *
Никогда не видел. Скрин можно?
ходи сюда: http://www.crossplatform.ru/
И ткни на любой сриншот, любой программы


Да, именно этот эффект.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 19.5.2009, 16:16
Сообщение #60


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

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

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




Репутация:   34  


Ну этот эффект я видел много раз, но совершенно не могу понять как он с combobox'ом будет выглядеть. И самое главное для каких целей такое делается. С картинками и модальными диалогами понятно, но с комбиком.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
posi4
  опции профиля:
сообщение 20.5.2009, 8:59
Сообщение #61


Студент
*

Группа: Участник
Сообщений: 52
Регистрация: 24.4.2009
Пользователь №: 707

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




Репутация:   0  


Ну хорошо, пускай это будет диалог или картинка, а не комбо. Суть по моему от этого не меняется,
кликнешь ты на картинку и будет вызываться эффект затемнения или он будет вызываться при выборе пункта в комбо-боксе.
Т.е. если кликается картинка она показывается на затемнённом фоне, а я хочу кликать на пункте комбика и у меня должен вызываться
лайн-эдит(или как было правильно сказано модальный диалог) для ввода числового значения этого пункта.
Цели здесь преследую чисто эстетические, с практической точки зрения это конечно вещь бесполезная.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
syrok
  опции профиля:
сообщение 22.7.2009, 23:35
Сообщение #62


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 22.7.2009
Пользователь №: 935

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




Репутация:   0  


Цитата(SABROG @ 21.3.2009, 13:16) *
Решил добавить фрейм окну и запутался. Стилизованные окна походу без фреймов работают:


Не сочтите за наглость, можно исходнички?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 23.7.2009, 6:33
Сообщение #63


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

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

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




Репутация:   94  


Цитата(syrok @ 23.7.2009, 3:35) *
Не сочтите за наглость, можно исходнички?
ищи в теме.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
syrok
  опции профиля:
сообщение 24.7.2009, 1:16
Сообщение #64


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 22.7.2009
Пользователь №: 935

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 23.7.2009, 6:33) *
ищи в теме.

Если бы я видел, я бы не попросил. Ткните меня плиз носом, я не вижу(((
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 24.7.2009, 5:25
Сообщение #65


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

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

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




Репутация:   94  


syrok, ну проси у SABROG'а или у него в блоге может, что-то найдёшь
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

7 страниц V   1 2 3 > » 
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 13.4.2025, 17:41