[DT框架使用教程01]如何在DT框架中创建插件

426 阅读1分钟

[DT框架使用教程01]如何在DT框架中创建插件


DT框架代码地址: https://github.com/huifeng-kooboo/DT

由于国内访问速度的问题 也可以访问gitee的地址: https://gitee.com/huifeng_github/DT

DT框架是基于QT框架衍生出的组件化框架。

对于想具体了解DT框架的同学,介绍可以查看该处 访问链接: https://blog.csdn.net/Giser_D/article/details/128235728


目前针对于DT框架创建插件的话,可以使用两种方式进行创建


    1. 采用QtCreator可视化界面进行创建

    (1)使用QtCreator 打开Plugins.pro

image-20221212231904671

(2)右键plugins.pro 点击新建子项目

image-20221212232037126

(3)选择C++Library

image-20221212232318935

(4) 输入名称 这边为了演示 选择demo

image-20221212232405626

(5)一路下一步 可以看到插件补充进去了

image-20221212232551312

(6)修改demo.pro参数

# 添加依赖的静态库
win32::LIBS += $$PWD/../../bin/libcommon.a
win32::LIBS += $$PWD/../../bin/libdtui.a
​
# 生成文件路径
DESTDIR = $$PWD/../../bin/plugins/
# 生成文件名称
TARGET = demo
​
HEADERS +=     ../plugins_base/pluginsmanager_base.h \  # 添加plugin_base的引用

image-20221212233046977

(7)demo.h 进行调整

#ifndef DEMO_H
#define DEMO_H#include "demo_global.h"
#include "pluginsmanager_base.h"
​
​
#define PLUGIN_Demo_IID "Plugin.Demo"
class DEMO_EXPORT Demo: public DTPluginBase
{
    Q_OBJECT
    Q_PLUGIN_METADATA(IID PLUGIN_Demo_IID)
public:
    Demo(QObject* qobj=nullptr);
​
    void loadUI() override;
​
public:
    void slotEventFromPlugins(const PluginMetaData& plt) override;
    QVariant slotHandleMessage(const PluginMetaData &plt) override;
​
};
​
#endif // DEMO_H

(8)编译生成插件


  1. 复制框架用例的插件(推荐)

    复制框架用例的插件,进行修改名称等,加入plugins.pro文件中即可


  1. 可视化界面新增插件 TODO