一、说明
当我们的程序逐渐变大时,我们可能就会考虑功能插件化,或者支持某些模块动态加载和卸载。
二、代码
1.插件系统软件框架
2.homeFrameMenuBarInterface.h
#ifndef HOMEFRAMEMENUBARINTERFACE_H
#define HOMEFRAMEMENUBARINTERFACE_H
#include <QWidget>
#include "menuBarInterface.h"
class homeFrameMenuBarInterface : public QObject,public menuBarInterface
{
Q_OBJECT
public:
explicit homeFrameMenuBarInterface(QObject *parent = nullptr);
Q_INTERFACES(menuBarInterface)
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.homeFrameMenuBarInterface" FILE "homeFrameMenuBarInterface.json")
QWidget* create();
};
#endif // HOMEFRAMEMENUBARINTERFACE_H
3.menuBarInterface.h
#ifndef MENUBARINTERFACE_H