QStylePlugin Class

The QStylePlugin class provides an abstract base for custom QStyle 插件。 更多...

頭: #include <QStylePlugin>
繼承: QObject

公共函數

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

重實現公共函數

virtual QStyle * create (const QString & key ) = 0
virtual QStringList keys () const = 0

額外繼承成員

詳細描述

The QStylePlugin class provides an abstract base for custom QStyle 插件。

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

Writing a style plugin is achieved by subclassing this base class, reimplementing the pure virtual keys () 和 create () functions, and exporting the class using the Q_EXPORT_PLUGIN2 () macro. See 如何創建 Qt 插件 瞭解細節。

另請參閱 QStyleFactory and QStyle .

成員函數文檔編製

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.

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

創建並返迴 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;
}
					

另請參閱 keys ().

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

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.

另請參閱 create ().