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,返回这个流的参考。
本文来源: