QPalette Class Reference
[QtGui module]
该类包含颜色组为每一个widget状态。
#include <QPalette>
继承从QColorGroup
公共类型:
enum ColorGroup { Disabled, Active, Inactive, Normal }
enum ColorRole { Window, Background, WindowText, Foreground, ..., NoRole }
公共函数:
QPalette ()
QPalette ( const QColor & button )
QPalette ( Qt::GlobalColor button )
QPalette ( const QColor & button, const QColor & window )
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 )
QPalette ( const QPalette & p )
~QPalette ()
const QBrush & alternateBase () const
const QBrush & base () const
const QBrush & brightText () const
const QBrush & brush ( ColorGroup group, ColorRole role ) const
const QBrush & brush ( ColorRole role ) const
const QBrush & button () const
const QBrush & buttonText () const
qint64 cacheKey () const
const QColor & color ( ColorGroup group, ColorRole role ) const
const QColor & color ( ColorRole role ) const
ColorGroup currentColorGroup () const
const QBrush & dark () const
const QBrush & highlight () const
const QBrush & highlightedText () const
bool isBrushSet ( ColorGroup cg, ColorRole cr ) const
bool isCopyOf ( const QPalette & p ) const
bool isEqual ( ColorGroup cg1, ColorGroup cg2 ) const
const QBrush & light () const
const QBrush & link () const
const QBrush & linkVisited () const
const QBrush & mid () const
const QBrush & midlight () const
QPalette resolve ( const QPalette & other ) const
void setBrush ( ColorRole role, const QBrush & brush )
void setBrush ( ColorGroup group, ColorRole role, const QBrush & brush )
void setColor ( ColorGroup group, ColorRole role, const QColor & color )
void setColor ( ColorRole role, const QColor & color )
void 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 )
void setCurrentColorGroup ( ColorGroup cg )
const QBrush & shadow () const
const QBrush & text () const
const QBrush & toolTipBase () const
const QBrush & toolTipText () const
const QBrush & window () const
const QBrush & windowText () const
operator QVariant () const
bool operator!= ( const QPalette & p ) const
QPalette & operator= ( const QPalette & p )
bool operator== ( const QPalette & p ) const
相关的非成员:
QDataStream & operator<< ( QDataStream & s, const QPalette &
QDataStream & operator>> ( QDataStream & s, QPalette & p )
详细的描述:
一个palette包含三个颜色组:活跃,不活跃,不可用。所有widget包含一个palette,使用他们的palette来画他们自己。这使用户界面容易配置并保持连续。
如果你创建一个新的widget,我们强烈推荐你时候用颜色palette。
颜色组:
活跃组被用在那些有键盘焦点的window。
不活泼的组别用在其他的window。
不可用的组被用在widget,他们由于某种原因不可用。
活跃的和不活跃的window都能包含不可用的widget。(不可用的widget常常呈现inaccessible或者grayed out)。在大多数风格中,活跃和不活跃的看起来一样。
颜色和笔刷能被设置为特别的角色,在任何一个palette的颜色组,通过setColor()和setBrush()。一个颜色组包含一个被widget用来画自己的颜色组。我们推荐widget使用颜色组角色从palette,就像“foreground”和“base”,而不用literal 颜色像“red”或者“turquoise”。颜色角色被联合,并定义在ColorRole文件。
我们强烈推荐你使用缺省的目前风格的palette。(QApplication::palette()返回。),必要的时候修饰。这被做通过qt的widget,当他们被画的时候,
为了修饰一个颜色组,你调用函数setColor()和setBrush(),依赖是否拟想要一个纯的颜色或者一个pixmap pattern。也有相关的color()和brush(),一个普遍使用的方便的函数来获得ColorRole为当前的ColorGroup:window(),windowText(),base()。
你能复制一个palette使用复制构造器,测试来看是否palette是一致的使用isCopyOf()。
QPalette是被优化,使用implicit sharing,所以他是非常有效地传递QPalette对象作为变量。
警告:一些风格不使用palette为所有的绘制,例如,如果他们使用本地的主题引擎。
成员类型文件:
enum QPalette::ColorGroup
Constant Value Description
QPalette::Disabled 1
QPalette::Active 0
QPalette::Inactive 2
QPalette::Normal Active synonym for Active
enum QPalette::ColorRole
ColorRole联合定义不同的符号颜色角色,被用在目前的gui。
Constant Value Description
QPalette::Window 10 一个常规的背景颜色
QPalette::Background Window 这个值是废弃的,使用window代替.
QPalette::WindowText 0 一个一般的前景颜色
QPalette::Foreground WindowText 这个值是废弃的,使用windowText代替.
QPalette::Base 9 最长使用来作为text背景颜色为整个widget,但是也能被用来为其他的绘画,像combobox的上下清单的背景和工具栏句柄。它通常是白的或者其他亮的颜色.
QPalette::AlternateBase 16 被用来作为轮流的背景颜色,轮流的行颜色(看QAbstractItemView::setAlternatingRowColors())
QPalette::ToolTipBase 18 被用来作为背景颜色为QToolTip和QWhatsThis。工具尖端使用QPalette不活跃的颜色组,因为工具尖端不是活跃的窗口.
QPalette::ToolTipText 19 被用来作为前景颜色为QToolTip和QWhatsThis.工具尖端使用QPalette不活跃的颜色组,因为工具尖端不是活跃的窗口.
QPalette::Text 6 前景颜色使用base.这通常和windowText相同,它一定提供好的对比window和base
QPalette::Button 1 button背景颜色。这个背景颜色能是不同于window作为一些风格,要求一个不同的背景颜色作为button
QPalette::ButtonText 8 一个前景颜色被用来作为button颜色.
QPalette::BrightText 7 一个text颜色是很不同于windowText,很好的对比与dark。典型的被用来为text,需要被画,在text或者windowText将给差的对比,就像在按下的button。注意text颜色能被用来为事情,而不只是单词;text颜色通常被用来为text,但是他是相当普通的使用text颜色角色为行,图标,等等
有一些颜色角色被用来为3d斜边和阴影效果。所有这些是不正常的源于window,被用来在方式,依赖于相关性。例如,button依赖他来使斜边看起来有吸引力。轮动主题栏依赖于mid不同于window。
Constant Value Description
QPalette::Light 2 比button颜色更亮.
QPalette::Midlight 3 在button和light之间.
QPalette::Dark 4 比button更暗.
QPalette::Mid 5 在button和dark之间.
QPalette::Shadow 11 .一个很暗的颜色。缺省的,阴影颜色是Qt::black
备选的项目有两个角色:
Constant Value Description
QPalette::Highlight 12 一个颜色来代表一个被选择的项目。缺省的,高亮的颜色是Qt::darkBlue.
QPalette::HighlightedText 13 一个text颜色,对于与highlight。缺省的,高亮的text颜色是Qt::white.
有两个颜色角色与超链接相关
Constant Value Description
QPalette::Link 14 一个text颜色被用来为不访问的超链接。缺省的,连接颜色是Qt::blue。.
QPalette::LinkVisited 15 一个text颜色被用来已经访问的超链接。缺省的,访问的颜色是Qt::magenta.
注意:我们不使用link和linkvisited角色,当翻译rich text。我们推荐你使用css和QTextDocument::setDefaultStyleSheet()函数来变更连接的外表。例如:
QTextBrowser browser;
QColor linkColor(Qt::red);
QString sheet = QString::fromLatin1("a { text-decoration: underline; color: %1 }").arg(linkColor.name());
browser.document()->setDefaultStyleSheet(sheet);
Constant Value Description
QPalette::NoRole 17 没有角色;这个特别的角色是常常被用来表达一个角色没有被注册的。.
成员函数文件:
QPalette::QPalette()
构建一个palette对象,使用应用的缺省的palette。
QPalette::QPalette ( const QColor & button )
构建一个palette从button颜色。其他的颜色是自动的计算,基于这个颜色。Wondow将也是button颜色。
QPalette::QPalette ( Qt::GlobalColor button )
构建一个palette从button颜色。其他的颜色是自动的计算,基于这个颜色。Window将是button颜色。
QPalette::QPalette ( const QColor & button, const QColor & window )
构建一个palette从一个button颜色和一个window。这个其他的颜色是自动的计算,基于这些颜色。
QPalette::QPalette ( const QBrush & windowText, const QBrush & button, const QBrush & light, const QBrush & dark, constQBrush & mid, const QBrush & text, const QBrush & bright_text, const QBrush & base, const QBrush & window )
构建一个palette。你能通过brush,pixmap或者plain colors为windowtext,button,light,dark,mid,text,bright_text,base和window。
QPalette::QPalette ( const QPalette & p )
构建一个p的拷贝。
这个构建器是更快的比隐式共享。
QPalette::~QPalette ()
const QBrush & QPalette::alternateBase () const
返回目前的颜色组的轮流的基本brush
const QBrush & QPalette::base () const
返回目前颜色组的基本brush
const QBrush & QPalette::brightText () const
返回目前的颜色组的高亮的text前景brush
const QBrush & QPalette::brush ( ColorGroup group, ColorRole role ) const
返回brush在特别的颜色组,被用来为被给的颜色角色。
const QBrush & QPalette::brush ( ColorRole role ) const
这是一个过载的颜色。
返回brush,已经被设置为被给的颜色角色在目前的颜色组。
const QBrush & QPalette::button () const
返回目前的颜色组的button brush
const QBrush & QPalette::buttonText () const
返回目前颜色组的button text前景brush
qint64 QPalette::cacheKey () const
返回一个数,识别这个QPalette对象的内容。截然不同的QPalette对象能有相同的key,如果他们指着相同的内容。
cacheKey()将改变当palette是变更的。
const QColor & QPalette::color ( ColorGroup group, ColorRole role ) const
返回颜色在特别的颜色组,被用来为被给的颜色组。
const QColor & QPalette::color ( ColorRole role ) const
这是一个过载函数。
返回颜色,已经被设置为被给的颜色角色。
ColorGroup QPalette::currentColorGroup () const
返回palette的目前的颜色组。
const QBrush & QPalette::dark () const
返回目前颜色组的暗色的brush
const QBrush & QPalette::highlight () const
返回目前的颜色组的高亮brush
const QBrush & QPalette::highlightedText () const
返回目前颜色组的高亮的brush
bool QPalette::isBrushSet ( ColorGroup cg, ColorRole cr ) const
如果颜色组cg和颜色角色cr已经被明显的设置在这个palette,返回true;否则返回假。
bool QPalette::isCopyOf ( const QPalette & p ) const
如果这个palette和p是彼此的拷贝,返回true,他们中的一个是被创建作为另一个的拷贝,和没有被连续的修饰。否则返回假。这是更严格的比等于。
bool QPalette::isEqual ( ColorGroup cg1, ColorGroup cg2 ) const
如果颜色组cg1是相等于cg2,返回true;否则返回false
const QBrush & QPalette::light () const
返回目前颜色组的高亮brush
const QBrush & QPalette::link () const
返回目前颜色组的没用被访问的text brush
const QBrush & QPalette::linkVisited () const
返回目前的颜色组的被访问的text brush
const QBrush & QPalette::mid () const
返回目前颜色组的mid brush
const QBrush & QPalette::midlight () const
返回目前颜色组的midlight brush
QPalette QPalette::resolve ( const QPalette & other ) const
返回一个新的QPalette,已经被认为是另一个的拷贝
void QPalette::setBrush ( ColorRole role, const QBrush & brush )
设置brush为被给的颜色角色,为特别的brush,为这个palette的所有的组。
void QPalette::setBrush ( ColorGroup group, ColorRole role, const QBrush & brush )
这是一个过载函数。
看brush在特别的颜色组,被用来为被给的颜色角色,brush
void QPalette::setColor ( ColorGroup group, ColorRole role, const QColor & color )
设置brush在特别的颜色组,被用来为被给的颜色角色,为特别的纯色。
void QPalette::setColor ( ColorRole role, const QColor & color )
这是一个过载函数。
设置颜色,被用来为被给的颜色角色。在所有的颜色组,为特别的纯色。
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, constQBrush & window )
设置一个组在cg。你能通过严么brush,pixmap或plain color为windowText,button,light,dark,mid,text,bright_text,base和window。
void QPalette::setCurrentColorGroup ( ColorGroup cg )
设置palette的目前的颜色组给cg
Const QBrush & QPalette::shadow () const
返回目前颜色组的阴影brush
const QBrush & QPalette::text () const
返回text前景brush
const QBrush & QPalette::toolTipBase () const
返回tool tip基于目前颜色组的brush。这个brush是使用被QToolTip和QWhatsThis。
注意:工具尖端使用QPalette不活跃的颜色组。因为工具尖端是不活跃的wondows。
const QBrush & QPalette::toolTipText () const
返回目前颜色组的工具尖端text brush。这个brush被QToolTip和QWhatsThis使用。
注意:工具尖端使用QPalette不活跃的颜色组,因为工具尖端是不活跃的window。
const QBrush & QPalette::window () const
返回目前颜色组的window brush
const QBrush & QPalette::windowText () const
返回目前颜色组的window text brush
QPalette::operator QVariant () const
返回palette作为一个QVariant
bool QPalette::operator!= ( const QPalette & p ) const
如果palette是不同于p,返回true;否则返回false
QPalette & QPalette::operator= ( const QPalette & p )
指派p到这个palette,返回这个palette的参考
bool QPalette::operator== ( const QPalette & p ) const
如果这个palette是相同于p,返回true;否则返回假
相关的非成员:
QDataStream & operator<< ( QDataStream & s, const QPalette & p )
写palette,p到流s,返回流的参考。
QDataStream & operator>> ( QDataStream & s, QPalette & p )
从流读一个palette,s到palette p,返回这个流的参考