Home · All Classes · Main Classes · Grouped Classes · Modules · Functions

Описание Класса QPalette
[модуль QtGui]

Класс QPalette содержит цветовую группу для каждого состояния виджета. Далее...

#include <QPalette>

Наследуется QColorGroup.

Открытые Типы

Открытые Функции

Связанные Не-Члены


Подробное Описание

Класс QPalette содержит цветовую группу для каждого состояния виджета.

Палитра состоит из трех цветовых групп: Активный, Недоступный и Неактивный. Все виджеты в Qt содержат палитру и используют ее для отрисовки себя. Это делает пользовательский интерфейс легко настраиваевым и простым в программировании.

Если Вы создаете новый виджет, мы настоятельно рекомендуем использовать цвета палитры, а не жесткое задание цветов.

Цветовые группы:

И активные и неактивные окна могут содержать недоступные виджеты.

В большинстве стилей Активный и Неактивный вид виджетов одинаковы.

Цвета и кисти могут быть заданы для различных ролей в любой из цветовых групп палитры с помощью setColor() и setBrush(). Цветовая группа содержит цвета, используемые виджетом для отрисовки. Мы рекомедуем, чтобы виджеты использовали роли цветовой группы палитры, такие как "foreground" и "base", вместо литеральных обозначений цветов, таких как "red" или "turquoise". Цветовые роли перечислены и определены в описании ColorRole.

Мы настоятельно рекомендуем использовать предоставляемую системой цветовую палитру и изменять ее по мере необходимости.

Для изменения цветовой группы, Вы можете, в зависимости от того, хотите ли Вы установить чистый цвет, или пиксельную карту, использовать функции setColor() и setBrush().

Также, для получения цвета и кисти, используются color() и brush(), а также используются функции удобства ColorRole для текущей ColorGroup: background(), foreground(), base(), и т.д.

Вы можете копировать палитру с помощью конструктора копирования, а также проверить, являются ли две палитры идентичными, с помощью isCopyOf().

QPalette оптимизирован с помощью неявного совместного использования данных, что очень эффективно при передаче объектов QPalette в качестве аргументов.

См. также QApplication::setPalette(), QWidget::setPalette() и QColor.


Описание Типов Членов

enum QPalette::ColorGroup

КонстантаЗначениеОписание
QPalette::Disabled1 
QPalette::Active0 
QPalette::Inactive2 
QPalette::NormalActiveсиноним Active

enum QPalette::ColorRole

Перечисление ColorRole определяет различные символические роли цветов, используемые в текущем GUI.

Основные роли - это:

КонстантаЗначениеОписание
QPalette::Window10Общий цвет фона.
QPalette::BackgroundWindowУстаревшее значение. Вместо него следует использовать Window.
QPalette::WindowText0Общий цвет переднего плана.
QPalette::ForegroundWindowTextУстаревшее значение. Вместо него следует использовать WindowText.
QPalette::Base9Используется в качестве цвета фона в виджетах для ввода текста; обычно, белый или другой светлый цвет.
QPalette::AlternateBase16Используется в качестве альтернативного цвета фона в представлениях с чередующимися цветами строк (см. QAbstractItemView::setAlternatingRowColors()).
QPalette::Text6Цвет переднего плана используемый с Base. Обычно тоже самое, что и WindowText, когда нужно обеспечить сильный контраст между Window и Base.
QPalette::Button1Общий цвет фона кнопок. Этот фон может отличаться от Window, так как некоторые стили требуют различных цветов фона и кнопок.
QPalette::ButtonText8Цвет переднего плана, используемый с цветом Button.

Есть некоторые цветовые роли, используемые главным образом в 3D эффектах подсветки и тени. Все они, обычно, происходят от Background и используются способом, зависящим от отношения к нему. Например, кнопки для привлекательности подсвечиваются, а полосы прокрутки Motif зависяот от цвета Mid для того, чтобы быть чуть светлее, чем Window.

КонстантаЗначениеОписание
QPalette::Light2Светлее цвета Button.
QPalette::Midlight3Между Button и Light.
QPalette::Dark4Темнее цвета Button.
QPalette::Mid5Между Button и Dark.
QPalette::Shadow11Очень темный цвет. По умолчанию, цвет тени равен Qt::black.

Выделенные (отмеченные) записи могут иметь две роли:

КонстантаЗначениеОписание
QPalette::Highlight12Цвет для индикации выделенной или текущей записи. По умолчанию, этот цвет равен Qt::darkBlue.
QPalette::HighlightedText13Цвет текста, отличающий его от Highlight. По умолчанию, цвет текста равен Qt::white.

И, наконец, есть специальная роль для текста, который должен быть нарисован в месте, где Text и Foreground дадут слабый контраст, таком как нажатая кнопка. Обратите внимание, что цвета текста могут использоваться для других, отличных от текста, элементов; цвета текста обычно используются для текста, но достаточно распространено использование цветов текстовых ролей для линий иконок и т.д.

КонстантаЗначениеОписание
QPalette::BrightText7Цвет текста, очень сильно выделяющегося на Foreground, и сильно с ним контрастирующий, например Dark.
QPalette::Link14Цвет текста, используемый для непосещенных гиперссылок. По умолчанию, этот цвет равен Qt::blue.
QPalette::LinkVisited15Цвет текста, используемый для уже посещенных гиперссылок. По умолчанию, этот цвет равен Qt::magenta.

На следующем рисунке показано использование большинства цветовых ролей:

Color Roles


Описание Функций-Членов

QPalette::QPalette ()

Создает объект палитры, использующий цветовую палитру приложения по умолчанию.

См. также QApplication::setPalette() и QApplication::palette().

QPalette::QPalette ( const QColor & button )

Создает палитру, основываясь на цвете button. Другие цвета автоматически вычисляются, основываясь на этом цвете. Цвет Window будет таким же, как цвет кнопки.

QPalette::QPalette ( Qt::GlobalColor button )

Создает палитру, основываясь на цвете button. Другие цвета автоматически вычисляются, основываясь на этом цвете. Цвет Window будет таким же, как цвет кнопки.

QPalette::QPalette ( const QColor & button, const QColor & window )

Создает палитру, основываясь на цветах button и window. Другие цвета автоматически вычисляются, основываясь на этих цветах.

QPalette::QPalette ( const QBrush & windowText, const QBrush & button, const QBrush & light, const QBrush & dark, const QBrush & mid, const QBrush & text, const QBrush & bright_text, const QBrush & base, const QBrush & window )

Создает палитру. Вы можете передавать кисти, пиксельные карты и простые цвета в windowText, button, light, dark, mid, text, bright_text, base и window.

См. также QBrush.

QPalette::QPalette ( const QPalette & p )

Создает копию p.

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

QPalette::~QPalette ()

Разрушает палитру.

const QBrush & QPalette::alternateBase () const

Возвращает дополнительную базовую кисть для альтернативного базового цвета.

См. также ColorRole and brush().

const QBrush & QPalette::base () const

Возвращает базовую кисть для текущей цветовой группы.

См. также ColorRole и brush().

const QBrush & QPalette::brightText () const

Возвращает кисть яркого текста переднего плана для текущей цветовой группы.

См. также ColorRole и brush().

const QBrush & QPalette::brush ( ColorGroup gr, ColorRole cr ) const

Возвращает кисть цветовой группы gr, используемую для цветовой роли cr.

См. также color(), setBrush() и ColorRole.

const QBrush & QPalette::brush ( ColorRole r ) const

Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.

Возвращает кисть, которая установлена для цветовой роли r в текущей ColorGroup.

См. также color(), setBrush() и ColorRole.

const QBrush & QPalette::button () const

Возвращает кисть кнопки текущей цветовой группы.

См. также ColorRole и brush().

const QBrush & QPalette::buttonText () const

Возвращает кисть текста кнопки переднего плана текущей цветовой группы.

См. также ColorRole и brush().

const QColor & QPalette::color ( ColorGroup gr, ColorRole r ) const

Возвращает цвет цветовой группы gr используемый для цветовой роли r.

См. также brush(), setColor() и ColorRole.

const QColor & QPalette::color ( ColorRole r ) const

Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведения вышеприведенной функции.

Возвращает цвет, который был установлен для цветовой роли r текущей ColorGroup.

См. также brush() и ColorRole.

ColorGroup QPalette::currentColorGroup () const

Возвращает текущую цветовую группу палитры.

См. также setCurrentColorGroup().

const QBrush & QPalette::dark () const

Возвращает темную кисть текущей цветовой группы.

См. также ColorRole и brush().

const QBrush & QPalette::highlight () const

Возвращаетю кисть подсветки (QPalette::Highlight) текущей цветовой группы.

См. также ColorRole и brush().

const QBrush & QPalette::highlightedText () const

Возвращает кисть самого светлого текста (QPalette::HighlightedText) текущей цветовой группы.

См. также ColorRole и brush().

bool QPalette::isCopyOf ( const QPalette & p ) const

Возвращает true если эта палитра и ралитра p являются копиями друг друга, т.е. одна из них была создана как копия другой и ни одна из них не была впоследствие изменена; в противном случае возвращает false. Данная функция намного более строга, чем равенство.

См. также operator=() и operator==().

bool QPalette::isEqual ( ColorGroup cg1, ColorGroup cg2 ) const

Возвращает true (обычно быстро) если цветовая группа cg1 эквивалентна цветовой группе cg2; в противном случае возвращает false.

const QBrush & QPalette::light () const

Возвращает светлую кисть (QPalette::Light) текущей цветовой группы.

См. также ColorRole и brush().

const QBrush & QPalette::link () const

Возвращает кисть текста непосещенных ссылок (QPalette::Link) текущей цветовой группы.

См. также ColorRole и brush().

const QBrush & QPalette::linkVisited () const

Возвращает кисть текста посещенных ссылок (QPalette::LinkVisited) текущей цветовой группы.

См. также ColorRole и brush().

const QBrush & QPalette::mid () const

Возвращает среднюю кисть (QPalette::Mid) текущей цветовой группы.

См. также ColorRole и brush().

const QBrush & QPalette::midlight () const

Возвращает среднюю светлую кисть (QPalette::Midlight) текущей цветовой группы.

См. также ColorRole и brush().

QPalette QPalette::resolve ( const QPalette & other ) const

Возвращает новый объект QPalette, все атрибуты которого являются копиями соответствующих атрибутов палитры other.

int QPalette::serialNumber () const

Возвращает число, являющееся уникальным идентификатором данного объекта QPalette. Серийный номер предназначается для кэширования. Это значение нельзя использовать ни для чего, кроме проверки на равенство.

Обратите внимание, что QPalette использует неявное совместное использование данных, и серийный номер изменяется при операции копирования данных (когда палитра действительно изменяется), а не при копировании самого объекта (при вызове конструктора копирования или присваивании).

См. также QPixmap, QPixmapCache и QCache.

void QPalette::setBrush ( ColorRole cr, const QBrush & brush )

Устанавливает кисть, используемую для цветовой роли cr, в brush для всех цветовых групп.

См. также brush(), setColor() и ColorRole.

void QPalette::setBrush ( ColorGroup cg, ColorRole cr, const QBrush & b )

Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведения вышеприведенной функции.

Устанавливает кисть в цветовой группе cg, используемую для цветовой роли cr, в b.

См. также brush(), setColor() и ColorRole.

void QPalette::setColor ( ColorGroup gr, ColorRole r, const QColor & c )

Устанавливает кисть в цветовой группе gr, используемую для цветовой роли r, в сплошной цвет c.

См. также setBrush(), color() и ColorRole.

void QPalette::setColor ( ColorRole r, const QColor & c )

Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведения вышеприведенной функции.

Устанавливает кисть, используемую в цветовой роли r всех цветовых групп в сплошной цвет c.

См. также brush(), setColor() и ColorRole.

void QPalette::setColorGroup ( ColorGroup cg, const QBrush & windowText, const QBrush & button, const QBrush & light, const QBrush & dark, const QBrush & mid, const QBrush & text, const QBrush & bright_text, const QBrush & base, const QBrush & window )

Настраивает цветовую группу cg. Вы можете передать как кисти, так и пиксельные карты и просто цвета в аргументы windowText, button, light, dark, mid, text, bright_text, base и window.

См. также QBrush.

void QPalette::setCurrentColorGroup ( ColorGroup cg )

Устанавливает текущую цветовую группу палитры в cg.

См. также currentColorGroup().

const QBrush & QPalette::shadow () const

Возвращает кисть тени текущей цветовой группы.

См. также ColorRole и brush().

const QBrush & QPalette::text () const

Возвращает кисть текста переднего плана текущей цветовой группы.

См. также ColorRole и brush().

const QBrush & QPalette::window () const

Возвращает кисть окна (общего фона) текущей цветовой группы.

См. также ColorRole и brush().

const QBrush & QPalette::windowText () const

Возвращает кисть надписей окна (общего фона) текущей цветовой группы.

См. также ColorRole и brush().

QPalette::operator QVariant () const

Возвращает палитру как QVariant.

bool QPalette::operator!= ( const QPalette & p ) const

Возвращает true (медленно) если данная палитра отлична от палитры p; в противном случае возвращает false (обычно быстро).

QPalette & QPalette::operator= ( const QPalette & p )

Присваивает значение p данной палитре и возвращает ссылку на эту палитру.

Данная операция выполняется быстро в связи с применением неявного совмествного использования данных.

bool QPalette::operator== ( const QPalette & p ) const

Возвращает true (обычно быстро) если данная палитра эквивалентна палитре p; в противном случае возвращает false (медленно).


Связанные Не-Члены

QDataStream & operator<< ( QDataStream & s, const QPalette & p )

Данная перегруженная функция предоставлена для удобства.

Записывает палитру p в поток s и возвращает ссылку на поток.

См. также Формат операторов QDataStream.

QDataStream & operator>> ( QDataStream & s, QPalette & p )

Данная перегруженная функция предоставлена для удобства.

Читает палитру из потока s в палитру p и возвращает ссылку на поток.

См. также Формат операторов QDataStream.


Copyright © 2005 Trolltech Trademarks
Qt 4.1.0
Hosted by uCoz