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