Фон QPushButton и QAction (QT4)
Модератор: Модераторы разделов
-
Assuri
- Сообщения: 678
- Статус: #include <brain.h>
- ОС: Fedora 12
Фон QPushButton и QAction
В таких программах как: Amarok, Akregator и Kopete, QAction и QPushButton имеюю такой приятный вид - фон в виде градиента. Возможно ли как-нибудь установить фон на кнопки и QAction средствами Qt4?
-
sergio
- Сообщения: 436
- Статус: Интересующийся новичок
- ОС: Debian GNU/Linux 4 & 5
Re: Фон QPushButton и QAction
Эээ... пардон муа, а разве Action может иметь какой-то вид? И фон, в норме, к экшн тоже привязываться не должен, это деталь конкретного представления.
Кнопку с фоном можно сделать руками, если стандартных средств не отыщется, это не так и трудно. Только по-моему эти фантики все - дурной тон, оставьте их школьникам, которые ляпят мышкой "формы" с извратными стилями и тащацо. Если библиотека поддерживает темы, то юзер себе уже выбрал то, что ему нравится. В его готишно-чорной теме ваши светло-серые текстуры на кнопках будут выглядить как плевок в душу гота.
(К тому же у него вероятно бледно-серые шрифты, и прочесть что написано станет просто невозможно...)
А, градиент, не текстуры, пардон муа еще раз, рассеян. Ну тоже сделать не трудно, надо использовать фоновые цвета темы только - тогда надпись останется читаемой. Но все остальное сказанное остается в силе...
ЗЫ: М-да, я ваще плохо секу о чем речь. Вот у меня сейчас к примеру стоит тема, где кнопки типо выпуклые, т.е. у них фон градиентом, и селекш меню выпуклый, и скроллбары. "Glossy P" обзывается. (Это гномья тема.)
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
-
Assuri
- Сообщения: 678
- Статус: #include <brain.h>
- ОС: Fedora 12
Re: Фон QPushButton и QAction
Вы имеете ввиду, что у вас в настройках Qt4 стоит данная тема? Я хочу, чтобы у кнопок был красивые серебрянный фон, как в Амарок и не хочу обычный серый цвет, какой я сейчас имею вне зависимости от темы.
P.S. Я школьник еще...
-
sergio
- Сообщения: 436
- Статус: Интересующийся новичок
- ОС: Debian GNU/Linux 4 & 5
Re: Фон QPushButton и QAction
А вот товарищи опытные в КДЕ придут, они вам расскажут, где там темы переключаются и как. Суть в том, что для нормальных приложений делать "свой персональный вид" - немного извратно. Также как извратно помещать пункт "Сохранить" в меню "Хелп". Попробуйте - и вскоре узнаете что о вас думают без купюр бедные пользователи. Единообразие в GUI создавалось не для того, чтоб его все ломали кому заняться нечем.
У меня в Quanta+ симпатичная серая тема с градиентами на кнопках и др. местах, меленькая и аккуратная. В Qt-дизайнер - что-то мотиф-подобное, плоское серое и здоровое. Бардак-с... А что надо доставить, чтоб в Гноме появилась панель настроек КДЕ-библиотек я пока не выяснял, есть много других более интересных вопросов.
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
-
Liksys
- Сообщения: 2910
Re: Фон QPushButton и QAction
Пришел мну
Красивый фон амарока - это всего навсего тема. Ее можно сделать любой, а вот как я например расправился с разнами темами 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)
И еще, украшалки - зло. Нужно иметь такой стиль, какой принят во всей системе.
На переднем фоне - Qt3 (Amarok), на среднем - FireFox (GTK), на задним мой словарик (Qt4)
И еще, украшалки - зло. Нужно иметь такой стиль, какой принят во всей системе.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
eduard_pustobaev
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
Re: Фон QPushButton и QAction
Что-то я опять не въехал. Это снова про трей или про что?
Если про обычные баттоны, то я там нигде градиентов не видел. Всё зависит от темы.
P.S. А вид баттону формально можно любой придать. Есть же paintEvent.
Если про обычные баттоны, то я там нигде градиентов не видел. Всё зависит от темы.
P.S. А вид баттону формально можно любой придать. Есть же paintEvent.
В дисгармонии со вселенной.
-
Assuri
- Сообщения: 678
- Статус: #include <brain.h>
- ОС: Fedora 12
Re: Фон QPushButton и QAction
Скажите, пожалуйста, как получить цвета x11? Например цвет ползунка в программе kate соответствует схеме KDE. Как мне сделать тоже самое?
Или лучше скажите, где лежит действующая схема цветов KDE?
Или лучше скажите, где лежит действующая схема цветов KDE?
-
sergio
- Сообщения: 436
- Статус: Интересующийся новичок
- ОС: Debian GNU/Linux 4 & 5
Re: Фон QPushButton и QAction
Пробуем почитать вот это:
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
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
-
eduard_pustobaev
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
Re: Фон QPushButton и QAction
Вообще-то для игр с расцветкой виджетов неплохо бы использовать 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() - установить палитру всей проге, то есть для всех виджетов.
В дисгармонии со вселенной.