QProxyStyle 类

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
  • 2 protected slots inherited from QStyle

额外继承成员

详细描述

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 = 0)

构造 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 ()

销毁 QProxyStyle 对象。

QStyle * QProxyStyle:: baseStyle () const

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

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 ().

[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 ().