Qt5的插件

253 阅读1分钟

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