在定义中使用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已废弃