Qt5的插件

## 在定义中使用Q_PLUGIN_METADATA,与qt4的不同
class SimpleStylePlugin : public QStylePlugin
{
    Q_OBJECT
    Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QStyleFactoryInterface" FILE "simplestyle.json")

public:
    SimpleStylePlugin() {}

    QStringList keys() const;
    QStyle *create(const QString &key) override;
};
## 添加Json文件   simplestyle.json


{
    "Keys": [ "simplestyle" ]
}


## 源文件
//! [0]
QStringList SimpleStylePlugin::keys() const
{
    return QStringList() << "SimpleStyle";
}
//! [0]

//! [1]
QStyle *SimpleStylePlugin::create(const QString &key)
{
    if (key.toLower() == "simplestyle")
        return new SimpleStyle;
    return 0;
}


QProxyStyle  qt4的windowsstyle已废弃

你可能感兴趣的:(Qt5的插件)