The QProxyStyle class is a convenience class that simplifies dynamically overriding QStyle 元素。 更多...
头: | #include <QProxyStyle> |
qmake: | QT += widgets |
Since: | Qt 4.6 |
继承: | QCommonStyle |
QProxyStyle (QStyle * style = Q_NULLPTR) | |
QProxyStyle (const QString & key ) | |
~QProxyStyle () | |
QStyle * | baseStyle () const |
void | setBaseStyle (QStyle * style ) |
virtual void | drawComplexControl (ComplexControl control , const QStyleOptionComplex * option , QPainter * painter , const QWidget * widget = Q_NULLPTR) const |
virtual void | drawControl (ControlElement element , const QStyleOption * option , QPainter * painter , const QWidget * widget = Q_NULLPTR) const |
virtual void | drawItemPixmap (QPainter * painter , const QRect & rect , int alignment , const QPixmap & pixmap ) const |
virtual void | drawItemText (QPainter * painter , const QRect & rect , int flags , const QPalette & pal , bool enabled , const QString & text , QPalette::ColorRole textRole = QPalette::NoRole) const |
virtual void | drawPrimitive (PrimitiveElement element , const QStyleOption * option , QPainter * painter , const QWidget * widget = Q_NULLPTR) const |
virtual QPixmap | generatedIconPixmap (QIcon::Mode iconMode , const QPixmap & pixmap , const QStyleOption * opt ) const |
virtual SubControl | hitTestComplexControl (ComplexControl control , const QStyleOptionComplex * option , const QPoint & pos , const QWidget * widget = Q_NULLPTR) const |
virtual QRect | itemPixmapRect (const QRect & r , int flags , const QPixmap & pixmap ) const |
virtual QRect | itemTextRect (const QFontMetrics & fm , const QRect & r , int flags , bool enabled , const QString & text ) const |
virtual int | layoutSpacing (QSizePolicy::ControlType control1 , QSizePolicy::ControlType control2 , Qt::Orientation orientation , const QStyleOption * option = Q_NULLPTR, const QWidget * widget = Q_NULLPTR) const |
virtual int | pixelMetric (PixelMetric metric , const QStyleOption * option = Q_NULLPTR, const QWidget * widget = Q_NULLPTR) const |
virtual void | polish (QWidget * widget ) |
virtual void | polish (QPalette & pal ) |
virtual void | polish (QApplication * app ) |
virtual QSize | sizeFromContents (ContentsType type , const QStyleOption * option , const QSize & size , const QWidget * widget ) const |
virtual QIcon | standardIcon (StandardPixmap standardIcon , const QStyleOption * option = Q_NULLPTR, const QWidget * widget = Q_NULLPTR) const |
virtual QPalette | standardPalette () const |
virtual QPixmap | standardPixmap (StandardPixmap standardPixmap , const QStyleOption * opt , const QWidget * widget = Q_NULLPTR) const |
virtual int | styleHint (StyleHint hint , const QStyleOption * option = Q_NULLPTR, const QWidget * widget = Q_NULLPTR, QStyleHintReturn * returnData = Q_NULLPTR) const |
virtual QRect | subControlRect (ComplexControl cc , const QStyleOptionComplex * option , SubControl sc , const QWidget * widget ) const |
virtual QRect | subElementRect (SubElement element , const QStyleOption * option , const QWidget * widget ) const |
virtual void | unpolish (QWidget * widget ) |
virtual void | unpolish (QApplication * app ) |
virtual bool | event (QEvent * e ) |
The QProxyStyle class is a convenience class that simplifies dynamically overriding QStyle 元素。
A QProxyStyle wraps a QStyle (通常是默认系统样式) 用于动态覆写描绘 (或其它特定样式行为) 目的。
以下范例展示如何在任何平台,覆写快捷方式下划线行为:
#include "textedit.h" #include <QApplication> #include <QProxyStyle> class MyProxyStyle : public QProxyStyle { public: int styleHint(StyleHint hint, const QStyleOption *option = 0, const QWidget *widget = 0, QStyleHintReturn *returnData = 0) const { if (hint == QStyle::SH_UnderlineShortcut) return 0; return QProxyStyle::styleHint(hint, option, widget, returnData); } }; int main(int argc, char **argv) { Q_INIT_RESOURCE(textedit); QApplication a(argc, argv); a.setStyle(new MyProxyStyle); TextEdit mw; mw.resize(700, 800); mw.show(); //... }
警告: 公共样式 由 Qt 提供将遵守此提示,因为它们会调用 QStyle::proxy (),但不保证 QStyle::proxy () 会被调用对于用户定义 (或系统控制) 样式。例如:在 Mac 它不工作,因为菜单是由操作系统处理的。
另请参阅 QStyle .
构造 QProxyStyle object for overriding behavior in the specified style ,或按默认本机 style if style 未指定。
所有权对于 style 会被转移给 QProxyStyle .
构造 QProxyStyle object for overriding behavior in the base style specified by style key ,或按当前 应用程序样式 若指定样式 key 无法识别。
另请参阅 QStyleFactory::create ().
销毁 QProxyStyle 对象。
返回代理基样式对象。若代理样式未设置基样式, QProxyStyle 将创建实例化的应用程序样式取而代之。
另请参阅 setBaseStyle () 和 QStyle .
[虚拟]
void
QProxyStyle::
drawComplexControl
(
ComplexControl
control
, const
QStyleOptionComplex
*
option
,
QPainter
*
painter
, const
QWidget
*
widget
= Q_NULLPTR) const
重实现自 QStyle::drawComplexControl ().
[虚拟]
void
QProxyStyle::
drawControl
(
ControlElement
element
, const
QStyleOption
*
option
,
QPainter
*
painter
, const
QWidget
*
widget
= Q_NULLPTR) const
重实现自 QStyle::drawControl ().
[虚拟]
void
QProxyStyle::
drawItemPixmap
(
QPainter
*
painter
, const
QRect
&
rect
,
int
alignment
, const
QPixmap
&
pixmap
) const
重实现自 QStyle::drawItemPixmap ().
[虚拟]
void
QProxyStyle::
drawItemText
(
QPainter
*
painter
, const
QRect
&
rect
,
int
flags
, const
QPalette
&
pal
,
bool
enabled
, const
QString
&
text
,
QPalette::ColorRole
textRole
= QPalette::NoRole) const
重实现自 QStyle::drawItemText ().
[虚拟]
void
QProxyStyle::
drawPrimitive
(
PrimitiveElement
element
, const
QStyleOption
*
option
,
QPainter
*
painter
, const
QWidget
*
widget
= Q_NULLPTR) const
重实现自 QStyle::drawPrimitive ().
[virtual protected]
bool
QProxyStyle::
event
(
QEvent
*
e
)
重实现自 QObject::event ().
[虚拟]
QPixmap
QProxyStyle::
generatedIconPixmap
(
QIcon::Mode
iconMode
, const
QPixmap
&
pixmap
, const
QStyleOption
*
opt
) const
重实现自 QStyle::generatedIconPixmap ().
[虚拟]
SubControl
QProxyStyle::
hitTestComplexControl
(
ComplexControl
control
, const
QStyleOptionComplex
*
option
, const
QPoint
&
pos
, const
QWidget
*
widget
= Q_NULLPTR) const
重实现自 QStyle::hitTestComplexControl ().
[虚拟]
QRect
QProxyStyle::
itemPixmapRect
(const
QRect
&
r
,
int
flags
, const
QPixmap
&
pixmap
) const
重实现自 QStyle::itemPixmapRect ().
[虚拟]
QRect
QProxyStyle::
itemTextRect
(const
QFontMetrics
&
fm
, const
QRect
&
r
,
int
flags
,
bool
enabled
, const
QString
&
text
) const
重实现自 QStyle::itemTextRect ().
[虚拟]
int
QProxyStyle::
layoutSpacing
(
QSizePolicy::ControlType
control1
,
QSizePolicy::ControlType
control2
,
Qt::Orientation
orientation
, const
QStyleOption
*
option
= Q_NULLPTR, const
QWidget
*
widget
= Q_NULLPTR) const
重实现自 QStyle::layoutSpacing ().
此槽由 layoutSpacing() 调用,以确定应该使用的间距介于 control1 and control2 在布局。 orientation 指定控件是并排布局,还是垂直堆叠。 option 参数可以用于传递父级 Widget 的有关额外信息。 widget 参数是可选的,且也可以使用若 option 为 0。
默认实现返回 -1。
另请参阅 combinedLayoutSpacing ().
[虚拟]
int
QProxyStyle::
pixelMetric
(
PixelMetric
metric
, const
QStyleOption
*
option
= Q_NULLPTR, const
QWidget
*
widget
= Q_NULLPTR) const
重实现自 QStyle::pixelMetric ().
[虚拟]
void
QProxyStyle::
polish
(
QWidget
*
widget
)
重实现自 QStyle::polish ().
[虚拟]
void
QProxyStyle::
polish
(
QPalette
&
pal
)
重实现自 QStyle::polish ().
[虚拟]
void
QProxyStyle::
polish
(
QApplication
*
app
)
重实现自 QStyle::polish ().
设置应被代理的基样式。
所有权对于 style 会被转移给 QProxyStyle .
If style is zero, a desktop-dependant style will be assigned automatically.
另请参阅 baseStyle ().
[虚拟]
QSize
QProxyStyle::
sizeFromContents
(
ContentsType
type
, const
QStyleOption
*
option
, const
QSize
&
size
, const
QWidget
*
widget
) const
重实现自 QStyle::sizeFromContents ().
[虚拟]
QIcon
QProxyStyle::
standardIcon
(
StandardPixmap
standardIcon
, const
QStyleOption
*
option
= Q_NULLPTR, const
QWidget
*
widget
= Q_NULLPTR) const
重实现自 QStyle::standardIcon ().
返回图形为给定 standardIcon .
重实现此槽以提供自己的图标在 QStyle 子类。 option 自变量可以用于传递查找适当图标要求的额外信息。 widget 自变量是可选的,且还可以用来帮助查找图标。
[虚拟]
QPalette
QProxyStyle::
standardPalette
() const
重实现自 QStyle::standardPalette ().
[虚拟]
QPixmap
QProxyStyle::
standardPixmap
(
StandardPixmap
standardPixmap
, const
QStyleOption
*
opt
, const
QWidget
*
widget
= Q_NULLPTR) const
重实现自 QStyle::standardPixmap ().
[虚拟]
int
QProxyStyle::
styleHint
(
StyleHint
hint
, const
QStyleOption
*
option
= Q_NULLPTR, const
QWidget
*
widget
= Q_NULLPTR,
QStyleHintReturn
*
returnData
= Q_NULLPTR) const
重实现自 QStyle::styleHint ().
[虚拟]
QRect
QProxyStyle::
subControlRect
(
ComplexControl
cc
, const
QStyleOptionComplex
*
option
,
SubControl
sc
, const
QWidget
*
widget
) const
重实现自 QStyle::subControlRect ().
[虚拟]
QRect
QProxyStyle::
subElementRect
(
SubElement
element
, const
QStyleOption
*
option
, const
QWidget
*
widget
) const
重实现自 QStyle::subElementRect ().
[虚拟]
void
QProxyStyle::
unpolish
(
QWidget
*
widget
)
重实现自 QStyle::unpolish ().
[虚拟]
void
QProxyStyle::
unpolish
(
QApplication
*
app
)
重实现自 QStyle::unpolish ().