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 = nullptr) | |
QProxyStyle (const QString & key ) | |
virtual | ~QProxyStyle () |
QStyle * | baseStyle () const |
void | setBaseStyle (QStyle * style ) |
virtual void | drawComplexControl (QStyle::ComplexControl control , const QStyleOptionComplex * option , QPainter * painter , const QWidget * widget = nullptr) const override |
virtual void | drawControl (QStyle::ControlElement element , const QStyleOption * option , QPainter * painter , const QWidget * widget = nullptr) const override |
virtual void | drawItemPixmap (QPainter * painter , const QRect & rect , int alignment , const QPixmap & pixmap ) const override |
virtual void | drawItemText (QPainter * painter , const QRect & rect , int flags , const QPalette & pal , bool enabled , const QString & text , QPalette::ColorRole textRole = QPalette::NoRole) const override |
virtual void | drawPrimitive (QStyle::PrimitiveElement element , const QStyleOption * option , QPainter * painter , const QWidget * widget = nullptr) const override |
virtual QPixmap | generatedIconPixmap (QIcon::Mode iconMode , const QPixmap & pixmap , const QStyleOption * opt ) const override |
virtual QStyle::SubControl | hitTestComplexControl (QStyle::ComplexControl control , const QStyleOptionComplex * option , const QPoint & pos , const QWidget * widget = nullptr) const override |
virtual QRect | itemPixmapRect (const QRect & r , int flags , const QPixmap & pixmap ) const override |
virtual QRect | itemTextRect (const QFontMetrics & fm , const QRect & r , int flags , bool enabled , const QString & text ) const override |
virtual int | layoutSpacing (QSizePolicy::ControlType control1 , QSizePolicy::ControlType control2 , Qt::Orientation orientation , const QStyleOption * option = nullptr, const QWidget * widget = nullptr) const override |
virtual int | pixelMetric (QStyle::PixelMetric metric , const QStyleOption * option = nullptr, const QWidget * widget = nullptr) const override |
virtual void | polish (QWidget * widget ) override |
virtual void | polish (QPalette & pal ) override |
virtual void | polish (QApplication * app ) override |
virtual QSize | sizeFromContents (QStyle::ContentsType type , const QStyleOption * option , const QSize & size , const QWidget * widget ) const override |
virtual QIcon | standardIcon (QStyle::StandardPixmap standardIcon , const QStyleOption * option = nullptr, const QWidget * widget = nullptr) const override |
virtual QPalette | standardPalette () const override |
virtual QPixmap | standardPixmap (QStyle::StandardPixmap standardPixmap , const QStyleOption * opt , const QWidget * widget = nullptr) const override |
virtual int | styleHint (QStyle::StyleHint hint , const QStyleOption * option = nullptr, const QWidget * widget = nullptr, QStyleHintReturn * returnData = nullptr) const override |
virtual QRect | subControlRect (QStyle::ComplexControl cc , const QStyleOptionComplex * option , QStyle::SubControl sc , const QWidget * widget ) const override |
virtual QRect | subElementRect (QStyle::SubElement element , const QStyleOption * option , const QWidget * widget ) const override |
virtual void | unpolish (QWidget * widget ) override |
virtual void | unpolish (QApplication * app ) override |
const QMetaObject | staticMetaObject |
virtual bool | event (QEvent * e ) override |
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 override { 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
()
销毁 QProxyStyle 对象。
返回代理基样式对象。若代理样式未设置基样式, QProxyStyle 将创建实例化的应用程序样式取而代之。
另请参阅 setBaseStyle () 和 QStyle .
[override virtual]
void
QProxyStyle::
drawComplexControl
(
QStyle::ComplexControl
control
, const
QStyleOptionComplex
*
option
,
QPainter
*
painter
, const
QWidget
*
widget
= nullptr) const
重实现自 QCommonStyle::drawComplexControl ().
[override virtual]
void
QProxyStyle::
drawControl
(
QStyle::ControlElement
element
, const
QStyleOption
*
option
,
QPainter
*
painter
, const
QWidget
*
widget
= nullptr) const
重实现自 QCommonStyle::drawControl ().
[override virtual]
void
QProxyStyle::
drawItemPixmap
(
QPainter
*
painter
, const
QRect
&
rect
,
int
alignment
, const
QPixmap
&
pixmap
) const
重实现自 QStyle::drawItemPixmap ().
[override virtual]
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 ().
[override virtual]
void
QProxyStyle::
drawPrimitive
(
QStyle::PrimitiveElement
element
, const
QStyleOption
*
option
,
QPainter
*
painter
, const
QWidget
*
widget
= nullptr) const
重实现自 QCommonStyle::drawPrimitive ().
[override virtual protected]
bool
QProxyStyle::
event
(
QEvent
*
e
)
重实现自 QObject::event ().
[override virtual]
QPixmap
QProxyStyle::
generatedIconPixmap
(
QIcon::Mode
iconMode
, const
QPixmap
&
pixmap
, const
QStyleOption
*
opt
) const
重实现自 QCommonStyle::generatedIconPixmap ().
[override virtual]
QStyle::SubControl
QProxyStyle::
hitTestComplexControl
(
QStyle::ComplexControl
control
, const
QStyleOptionComplex
*
option
, const
QPoint
&
pos
, const
QWidget
*
widget
= nullptr) const
重实现自 QCommonStyle::hitTestComplexControl ().
[override virtual]
QRect
QProxyStyle::
itemPixmapRect
(const
QRect
&
r
,
int
flags
, const
QPixmap
&
pixmap
) const
重实现自 QStyle::itemPixmapRect ().
[override virtual]
QRect
QProxyStyle::
itemTextRect
(const
QFontMetrics
&
fm
, const
QRect
&
r
,
int
flags
,
bool
enabled
, const
QString
&
text
) const
重实现自 QStyle::itemTextRect ().
[override virtual]
int
QProxyStyle::
layoutSpacing
(
QSizePolicy::ControlType
control1
,
QSizePolicy::ControlType
control2
,
Qt::Orientation
orientation
, const
QStyleOption
*
option
= nullptr, const
QWidget
*
widget
= nullptr) const
重实现自 QCommonStyle::layoutSpacing ().
此槽由 layoutSpacing() 调用,以确定应该使用的间距介于 control1 and control2 在布局。 orientation 指定控件是并排布局,还是垂直堆叠。 option 参数可以用于传递父级 Widget 的有关额外信息。 widget 参数是可选的,且也可以使用若 option 为 0。
默认实现返回 -1。
另请参阅 combinedLayoutSpacing ().
[override virtual]
int
QProxyStyle::
pixelMetric
(
QStyle::PixelMetric
metric
, const
QStyleOption
*
option
= nullptr, const
QWidget
*
widget
= nullptr) const
重实现自 QCommonStyle::pixelMetric ().
[override virtual]
void
QProxyStyle::
polish
(
QWidget
*
widget
)
重实现自 QCommonStyle::polish ().
[override virtual]
void
QProxyStyle::
polish
(
QPalette
&
pal
)
重实现自 QCommonStyle::polish ().
[override virtual]
void
QProxyStyle::
polish
(
QApplication
*
app
)
重实现自 QCommonStyle::polish ().
设置应被代理的基样式。
所有权对于 style 会被转移给 QProxyStyle .
If style is zero, a desktop-dependant style will be assigned automatically.
另请参阅 baseStyle ().
[override virtual]
QSize
QProxyStyle::
sizeFromContents
(
QStyle::ContentsType
type
, const
QStyleOption
*
option
, const
QSize
&
size
, const
QWidget
*
widget
) const
重实现自 QCommonStyle::sizeFromContents ().
[override virtual]
QIcon
QProxyStyle::
standardIcon
(
QStyle::StandardPixmap
standardIcon
, const
QStyleOption
*
option
= nullptr, const
QWidget
*
widget
= nullptr) const
返回图形为给定 standardIcon .
重实现此槽以提供自己的图标在 QStyle 子类。 option 自变量可以用于传递查找适当图标要求的额外信息。 widget 自变量是可选的,且还可以用来帮助查找图标。
[override virtual]
QPalette
QProxyStyle::
standardPalette
() const
重实现自 QStyle::standardPalette ().
[override virtual]
QPixmap
QProxyStyle::
standardPixmap
(
QStyle::StandardPixmap
standardPixmap
, const
QStyleOption
*
opt
, const
QWidget
*
widget
= nullptr) const
重实现自 QCommonStyle::standardPixmap ().
[override virtual]
int
QProxyStyle::
styleHint
(
QStyle::StyleHint
hint
, const
QStyleOption
*
option
= nullptr, const
QWidget
*
widget
= nullptr,
QStyleHintReturn
*
returnData
= nullptr) const
重实现自 QCommonStyle::styleHint ().
[override virtual]
QRect
QProxyStyle::
subControlRect
(
QStyle::ComplexControl
cc
, const
QStyleOptionComplex
*
option
,
QStyle::SubControl
sc
, const
QWidget
*
widget
) const
重实现自 QCommonStyle::subControlRect ().
[override virtual]
QRect
QProxyStyle::
subElementRect
(
QStyle::SubElement
element
, const
QStyleOption
*
option
, const
QWidget
*
widget
) const
重实现自 QCommonStyle::subElementRect ().
[override virtual]
void
QProxyStyle::
unpolish
(
QWidget
*
widget
)
重实现自 QCommonStyle::unpolish ().
[override virtual]
void
QProxyStyle::
unpolish
(
QApplication
*
app
)
重实现自 QCommonStyle::unpolish ().