Фон QPushButton и QAction (QT4)

Модератор: Модераторы разделов

Аватара пользователя
Assuri
Сообщения: 678
Статус: #include <brain.h>
ОС: Fedora 12

Фон QPushButton и QAction

Сообщение Assuri »

В таких программах как: Amarok, Akregator и Kopete, QAction и QPushButton имеюю такой приятный вид - фон в виде градиента. Возможно ли как-нибудь установить фон на кнопки и QAction средствами Qt4?
Спасибо сказали:
sergio
Сообщения: 436
Статус: Интересующийся новичок
ОС: Debian GNU/Linux 4 & 5

Re: Фон QPushButton и QAction

Сообщение sergio »

-DooM- писал(а):
22.09.2007 12:20
В таких программах как: Amarok, Akregator и Kopete, QAction и QPushButton имеюю такой приятный вид - фон в виде градиента. Возможно ли как-нибудь установить фон на кнопки и QAction средствами Qt4?

Эээ... пардон муа, а разве Action может иметь какой-то вид? И фон, в норме, к экшн тоже привязываться не должен, это деталь конкретного представления.
Кнопку с фоном можно сделать руками, если стандартных средств не отыщется, это не так и трудно. Только по-моему эти фантики все - дурной тон, оставьте их школьникам, которые ляпят мышкой "формы" с извратными стилями и тащацо. Если библиотека поддерживает темы, то юзер себе уже выбрал то, что ему нравится. В его готишно-чорной теме ваши светло-серые текстуры на кнопках будут выглядить как плевок в душу гота.
:cray:
(К тому же у него вероятно бледно-серые шрифты, и прочесть что написано станет просто невозможно...)

А, градиент, не текстуры, пардон муа еще раз, рассеян. Ну тоже сделать не трудно, надо использовать фоновые цвета темы только - тогда надпись останется читаемой. Но все остальное сказанное остается в силе...

ЗЫ: М-да, я ваще плохо секу о чем речь. Вот у меня сейчас к примеру стоит тема, где кнопки типо выпуклые, т.е. у них фон градиентом, и селекш меню выпуклый, и скроллбары. "Glossy P" обзывается. (Это гномья тема.)
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Спасибо сказали:
Аватара пользователя
Assuri
Сообщения: 678
Статус: #include <brain.h>
ОС: Fedora 12

Re: Фон QPushButton и QAction

Сообщение Assuri »

sergio писал(а):
22.09.2007 12:38
Вот у меня сейчас к примеру стоит тема, где кнопки типо выпуклые, т.е. у них фон градиентом, и селекш меню выпуклый, и скроллбары. "Glossy P" обзывается. (Это гномья тема.)

Вы имеете ввиду, что у вас в настройках Qt4 стоит данная тема? Я хочу, чтобы у кнопок был красивые серебрянный фон, как в Амарок и не хочу обычный серый цвет, какой я сейчас имею вне зависимости от темы.


P.S. Я школьник еще...
Спасибо сказали:
sergio
Сообщения: 436
Статус: Интересующийся новичок
ОС: Debian GNU/Linux 4 & 5

Re: Фон QPushButton и QAction

Сообщение sergio »

-DooM- писал(а):
22.09.2007 12:54
Вы имеете ввиду, что у вас в настройках Qt4 стоит данная тема? Я хочу, чтобы у кнопок был красивые серебрянный фон, как в Амарок и не хочу обычный серый цвет, какой я сейчас имею вне зависимости от темы.

А вот товарищи опытные в КДЕ придут, они вам расскажут, где там темы переключаются и как. Суть в том, что для нормальных приложений делать "свой персональный вид" - немного извратно. Также как извратно помещать пункт "Сохранить" в меню "Хелп". Попробуйте - и вскоре узнаете что о вас думают без купюр бедные пользователи. Единообразие в GUI создавалось не для того, чтоб его все ломали кому заняться нечем.
У меня в Quanta+ симпатичная серая тема с градиентами на кнопках и др. местах, меленькая и аккуратная. В Qt-дизайнер - что-то мотиф-подобное, плоское серое и здоровое. Бардак-с... А что надо доставить, чтоб в Гноме появилась панель настроек КДЕ-библиотек я пока не выяснял, есть много других более интересных вопросов. :happy:
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Спасибо сказали:
Аватара пользователя
Liksys
Сообщения: 2910

Re: Фон QPushButton и QAction

Сообщение Liksys »

Пришел мну :) Красивый фон амарока - это всего навсего тема. Ее можно сделать любой, а вот как я например расправился с разнами темами Qt3, Qt4 и GTK - отдельная тема. Я поставил для начала GTK-Qt-Engine, потом QtCurve для KDE3, потом QtCurve для KDE4 (http://www.kde-look.org/content/show.php?content=40492). В резаультате стиль абсолютно одинаков для всех приложений.
На переднем фоне - Qt3 (Amarok), на среднем - FireFox (GTK), на задним мой словарик (Qt4)

И еще, украшалки - зло. Нужно иметь такой стиль, какой принят во всей системе.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
Аватара пользователя
eduard_pustobaev
Сообщения: 2629
Статус: Ленивец
ОС: Arch/Debian.

Re: Фон QPushButton и QAction

Сообщение eduard_pustobaev »

Что-то я опять не въехал. Это снова про трей или про что?
Если про обычные баттоны, то я там нигде градиентов не видел. Всё зависит от темы.

P.S. А вид баттону формально можно любой придать. Есть же paintEvent.
В дисгармонии со вселенной.
Спасибо сказали:
Аватара пользователя
Assuri
Сообщения: 678
Статус: #include <brain.h>
ОС: Fedora 12

Re: Фон QPushButton и QAction

Сообщение Assuri »

Скажите, пожалуйста, как получить цвета x11? Например цвет ползунка в программе kate соответствует схеме KDE. Как мне сделать тоже самое?

Или лучше скажите, где лежит действующая схема цветов KDE?
Спасибо сказали:
sergio
Сообщения: 436
Статус: Интересующийся новичок
ОС: Debian GNU/Linux 4 & 5

Re: Фон QPushButton и QAction

Сообщение sergio »

-DooM- писал(а):
23.09.2007 07:11
Скажите, пожалуйста, как получить цвета x11? Например цвет ползунка в программе kate соответствует схеме KDE. Как мне сделать тоже самое?

Или лучше скажите, где лежит действующая схема цветов KDE?

Пробуем почитать вот это:
http://doc.trolltech.com/4.3/qpalette.html#ColorGroup-enum
http://doc.trolltech.com/4.3/qpalette.html#ColorRole-enum
И поразбираться дальше самостоятельно. Я думаю, это верная дорога.
(Дока по куте 4.3)

А насчет схемы цветов КДЕ... бр... это ж сперва надо разобраться, что вы имеете в виду под этим понятием??
По логике вещей - действующая схема - это действующая тема. Если ваше приложение нормально взаимодействует и подхватило тему - то эти цвета должны стать действующими цветами вашего приложения, с поправкой на ColorGroup, о чем по тем ссылкам было.

Есть еще наприм. QDesktopWidget http://doc.trolltech.com/4.3/qdesktopwidget.html , можно палитру у него взять попробовать, хотя если нормально работает все, то должна быть той же, что и ваша по-умолчанию.
Еще есть резон заглянуть в туториал по созданию саморисуемых виджетов, там скорее всего рассказывали про "правильные цвета".
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Спасибо сказали:
Аватара пользователя
eduard_pustobaev
Сообщения: 2629
Статус: Ленивец
ОС: Arch/Debian.

Re: Фон QPushButton и QAction

Сообщение eduard_pustobaev »

-DooM- писал(а):
23.09.2007 07:11
Скажите, пожалуйста, как получить цвета x11? Например цвет ползунка в программе kate соответствует схеме KDE. Как мне сделать тоже самое?

Или лучше скажите, где лежит действующая схема цветов KDE?

Вообще-то для игр с расцветкой виджетов неплохо бы использовать QPalette.
Например

Код: Выделить всё

QPalette::Button
The general button background color. This background can be different from Window as some styles require a different background color for buttons.

QWidget::palette() - получить палитру виджета, QWidget::setPalette() - установить виджету палитру, QApplication::setPalette() - установить палитру всей проге, то есть для всех виджетов.
В дисгармонии со вселенной.
Спасибо сказали: