Qt Reference Documentation

QStylePlugin Class Reference

The QStylePlugin class provides an abstract base for custom QStyle plugins. More...

 #include <QStylePlugin>

Inherits: QObject.

Public Functions

QStylePlugin ( QObject * parent = 0 )
~QStylePlugin ()

Reimplemented Public Functions

virtual QStyle * create ( const QString & key ) = 0
virtual QStringList keys () const = 0
  • 29 public functions inherited from QObject

Additional Inherited Members

  • 1 property inherited from QObject
  • 1 public slot inherited from QObject
  • 1 signal inherited from QObject
  • 7 static public members inherited from QObject
  • 8 protected functions inherited from QObject

Detailed Description

The QStylePlugin class provides an abstract base for custom QStyle plugins.

QStylePlugin is a simple plugin interface that makes it easy to create custom styles that can be loaded dynamically into applications using the QStyleFactory class.

Writing a style plugin is achieved by subclassing this base class, reimplementing the pure virtual keys() and create() functions, and exporting the class using the Q_EXPORT_PLUGIN2() macro. See How to Create Qt Plugins for details.

See also QStyleFactory and QStyle.

Member Function Documentation

QStylePlugin::QStylePlugin ( QObject * parent = 0 )

Constructs a style plugin with the given parent.

Note that this constructor is invoked automatically by the Q_EXPORT_PLUGIN2() macro, so there is no need for calling it explicitly.

QStylePlugin::~QStylePlugin ()

Destroys the style plugin.

Note that Qt destroys a plugin automatically when it is no longer used, so there is no need for calling the destructor explicitly.

QStyle * QStylePlugin::create ( const QString & key ) [pure virtual]

Creates and returns a QStyle object for the given style key. If a plugin cannot create a style, it should return 0 instead.

The style key is usually the class name of the required style. Note that the keys are case insensitive. For example:

 QStringList MyStylePlugin::keys() const
     return QStringList() << "Rocket" << "StarBuster";

 QStyle *MyStylePlugin::create(const QString &key)
     QString lcKey = key;
     if (lcKey == "rocket") {
         return new RocketStyle;
     } else if (lcKey == "starbuster") {
         return new StarBusterStyle;
     return 0;

See also keys().

QStringList QStylePlugin::keys () const [pure virtual]

Returns the list of style keys this plugin supports.

These keys are usually the class names of the custom styles that are implemented in the plugin.

See also create().