Update the StylePlugin example

QWindowsStyle will soon become an internal class, inherit
SimpleStyle from QProxyStyle. The documentation has been
updated accordingly.

Change-Id: Ib55f59729e980b93276e9c2903f13b5e46612ac8
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
This commit is contained in:
J-P Nurmi 2012-11-27 00:27:32 +01:00 committed by The Qt Project
parent ab0b8f3fce
commit 114f247773
2 changed files with 17 additions and 13 deletions

View File

@ -34,10 +34,6 @@
\image stylepluginexample.png \image stylepluginexample.png
On some platforms, the native style will prevent the button
from having a red background. In this case, try to run the example
in another style (e.g., plastique).
A plugin in Qt is a class stored in a shared library that can be A plugin in Qt is a class stored in a shared library that can be
loaded by a QPluginLoader at run-time. When you create plugins in loaded by a QPluginLoader at run-time. When you create plugins in
Qt, they either extend a Qt application or Qt itself. Writing a Qt, they either extend a Qt application or Qt itself. Writing a
@ -52,14 +48,22 @@
class. Style plugins are loaded by Qt and made available through class. Style plugins are loaded by Qt and made available through
QStyleFactory; we will look at this later. We have implemented \c QStyleFactory; we will look at this later. We have implemented \c
SimpleStylePlugin, which provides \c SimpleStyle. The new style SimpleStylePlugin, which provides \c SimpleStyle. The new style
inherits QWindowsStyle and contributes to widget styling by contributes to widget styling by drawing button backgrounds in
drawing button backgrounds in red - not a major contribution, but red - not a major contribution, but it still makes a new style.
it still makes a new style. We test the plugin with \c
StyleWindow, in which we display a QPushButton.
The \c SimpleStyle and \c StyleWindow classes do not contain any The new style is platform agnostic in the sense that it is not
plugin specific functionality and their implementations are based on any specific style implementation, but uses QProxyStyle
trivial; we will therefore leap past them and head on to the \c to merely tweak the looks in the current application style that
defaults to the native system style.
\note On some platforms, the native style will prevent the button
from having a red background. In this case, try to run the example
in another style (e.g., fusion).
We test the plugin with \c StyleWindow, in which we display a
QPushButton. The \c SimpleStyle and \c StyleWindow classes do not
contain any plugin specific functionality and their implementations
are trivial; we will therefore leap past them and head on to the \c
SimpleStylePlugin and the \c main() function. After we have looked SimpleStylePlugin and the \c main() function. After we have looked
at that, we examine the plugin's profile. at that, we examine the plugin's profile.

View File

@ -41,13 +41,13 @@
#ifndef SIMPLESTYLE_H #ifndef SIMPLESTYLE_H
#define SIMPLESTYLE_H #define SIMPLESTYLE_H
#include <QWindowsStyle> #include <QProxyStyle>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
class QPalette; class QPalette;
QT_END_NAMESPACE QT_END_NAMESPACE
class SimpleStyle : public QWindowsStyle class SimpleStyle : public QProxyStyle
{ {
Q_OBJECT Q_OBJECT