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 |
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 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 將創建實例化的應用程序樣式取而代之。
另請參閱 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 ().
設置應被代理的基樣式。
所有權對於 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 ().