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