QProxyStyle 类

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:: QProxyStyle ( QStyle * style = Q_NULLPTR)

构造 QProxyStyle object for overriding behavior in the specified style ,或按默认本机 style if style 未指定。

所有权对于 style 会被转移给 QProxyStyle .

QProxyStyle:: QProxyStyle (const QString & key )

构造 QProxyStyle object for overriding behavior in the base style specified by style key ,或按当前 应用程序样式 若指定样式 key 无法识别。

另请参阅 QStyleFactory::create ().

QProxyStyle:: ~QProxyStyle ()

销毁 QProxyStyle 对象。

QStyle *QProxyStyle:: baseStyle () const

返回代理基样式对象。若代理样式未设置基样式, 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 ().

void QProxyStyle:: setBaseStyle ( QStyle * style )

设置应被代理的基样式。

所有权对于 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 ().