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

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

void QProxyStyle:: setBaseStyle ( QStyle * style )

設置應被代理的基樣式。

所有權對於 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 ().