Всем доброго времени суток
Вот возникла острая необходимость сделать кнопки прозрачными
вроде бы тривиальное дело, а фиг
Кнопочки лежат на QLable, в которую загружена картиночка, вот
в Qt3 можно было получить любой нужный эффект пошаманив со свойствами кнопки,
в новой версии библиотеки по всей видимости необходим другой подход
Может кто сталкивался, подскажите плиз
P.S. Если кнопки сделать плоскими, т.е. setFlat(true) то кнопка принимает фон картинки, и вроде бы
все Ок, но если зажать кнопку, то площадь кнопки отрисовывается серым, загараживая саму картинку
Прозрачный виджет (Qt 4.3.1)
Модератор: Модераторы разделов
-
ezheg
- Сообщения: 258
- Статус: джидай 3-го уровня
- ОС: Mac OS X
Re: Прозрачный виджет
Действительно, тривиально.
Еще можно сделать
Чтобы вокруг кнопки не обводилась рамочка фокуса, но тогда и фокус с клавиатуры кнопка получать не будет.
Код: Выделить всё
QPalette palette;
palette.setColor(button->backgroundRole(), Qt::transparent);
button->setPalette(palette);Еще можно сделать
Код: Выделить всё
button->setFocusPolicy( Qt::NoFocus );Чтобы вокруг кнопки не обводилась рамочка фокуса, но тогда и фокус с клавиатуры кнопка получать не будет.
-
TwisT
- Сообщения: 265
- ОС: Debian
Re: Прозрачный виджет
ezheq респект чувак!!!
PS: Переползаю на 4 Qt несколько недель, еще не во всех
отличиях разобрался, поэтому задаю глупые вопросы
PS: Переползаю на 4 Qt несколько недель, еще не во всех
отличиях разобрался, поэтому задаю глупые вопросы
Linux user #432536.
-
Liksys
- Сообщения: 2910
Re: Прозрачный виджет
Этот способ кстати не всегда работает, он иногда приводит к вот таким результатам, как у меня.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
Alexandro
- Сообщения: 33
- ОС: FreeBSD, Ubuntu, Debian