The QProxyStyle class is a convenience class that simplifies dynamically overriding QStyle 元素。 更多...
| 头: | #include <QProxyStyle> |
| Since: | Qt 4.6 |
| 继承: | QCommonStyle |
| QProxyStyle (QStyle * style = 0) | |
| ~QProxyStyle () | |
| QStyle * | baseStyle () const |
| void | setBaseStyle (QStyle * style ) |
| virtual void | drawComplexControl (ComplexControl control , const QStyleOptionComplex * option , QPainter * painter , const QWidget * widget = 0) const |
| virtual void | drawControl (ControlElement element , const QStyleOption * option , QPainter * painter , const QWidget * widget = 0) 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 = 0) 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 = 0) 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 | pixelMetric (PixelMetric metric , const QStyleOption * option = 0, const QWidget * widget = 0) 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 QPalette | standardPalette () const |
| virtual QPixmap | standardPixmap (StandardPixmap standardPixmap , const QStyleOption * opt , const QWidget * widget = 0) const |
| virtual int | styleHint (StyleHint hint , const QStyleOption * option = 0, const QWidget * widget = 0, QStyleHintReturn * returnData = 0) 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 ) |
| int | layoutSpacingImplementation (QSizePolicy::ControlType control1 , QSizePolicy::ControlType control2 , Qt::Orientation orientation , const QStyleOption * option = 0, const QWidget * widget = 0) const |
| QIcon | standardIconImplementation (StandardPixmap standardIcon , const QStyleOption * option , const QWidget * widget ) const |
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 style or in the current application style if style is 0 (default). Normally style is 0, because you want to override behavior in the system style.
所有权对于 style 会被转移给 QProxyStyle .
销毁 QProxyStyle 对象。
返回代理基样式对象。若代理样式未设置基样式, QProxyStyle 将创建实例化的应用程序样式取而代之。
另请参阅 setBaseStyle () 和 QStyle .
[虚拟]
void
QProxyStyle::
drawComplexControl
(
ComplexControl
control
, const
QStyleOptionComplex
*
option
,
QPainter
*
painter
, const
QWidget
*
widget
= 0) const
重实现自 QStyle::drawComplexControl ().
[虚拟]
void
QProxyStyle::
drawControl
(
ControlElement
element
, const
QStyleOption
*
option
,
QPainter
*
painter
, const
QWidget
*
widget
= 0) 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
= 0) 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
= 0) 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 ().
[protected slot]
int
QProxyStyle::
layoutSpacingImplementation
(
QSizePolicy::ControlType
control1
,
QSizePolicy::ControlType
control2
,
Qt::Orientation
orientation
, const
QStyleOption
*
option
= 0, const
QWidget
*
widget
= 0) const
此槽被调用通过 layoutSpacing () to determine the spacing that should be used between control1 and control2 在布局。 orientation 指定控件是并排布局,还是垂直堆叠。 option 参数可以用于传递父级 Widget 的有关额外信息。 widget 参数是可选的,且也可以使用若 option 为 0。
默认实现返回 -1。
另请参阅 layoutSpacing () 和 combinedLayoutSpacing ().
[虚拟]
int
QProxyStyle::
pixelMetric
(
PixelMetric
metric
, const
QStyleOption
*
option
= 0, const
QWidget
*
widget
= 0) 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 ().
[protected slot]
QIcon
QProxyStyle::
standardIconImplementation
(
StandardPixmap
standardIcon
, const
QStyleOption
*
option
, const
QWidget
*
widget
) const
返回图形为给定 standardIcon .
重实现此槽以提供自己的图标在 QStyle 子类。 option 自变量可以用于传递查找适当图标要求的额外信息。 widget 自变量是可选的,且还可以用来帮助查找图标。
注意: Because of binary compatibility constraints, standardIcon () introduced in Qt 4.1 is not virtual. Therefore it must dynamically detect and call this slot. This default implementation simply calls standardIcon () with the given parameters.
另请参阅 standardIcon ().
[虚拟]
QPalette
QProxyStyle::
standardPalette
() const
重实现自 QStyle::standardPalette ().
[虚拟]
QPixmap
QProxyStyle::
standardPixmap
(
StandardPixmap
standardPixmap
, const
QStyleOption
*
opt
, const
QWidget
*
widget
= 0) const
重实现自 QStyle::standardPixmap ().
[虚拟]
int
QProxyStyle::
styleHint
(
StyleHint
hint
, const
QStyleOption
*
option
= 0, const
QWidget
*
widget
= 0,
QStyleHintReturn
*
returnData
= 0) 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 ().