Qt5插件试水

平台:win10 + qtcreator5.9.3

参考资料:

① Qt自带的example,echoplugin;

② 百度经验“怎样创建Qt应用程序插件”(https://jingyan.baidu.com/article/8cdccae956810f315413cdfc.html)。

项目工程下载地址:https://github.com/cr19941016/qt_addplugin

创建步骤:

① 方便起见,plugin和调用plugin的系统放在一个工程里,作为两个子工程。

创建.pro工程如下:

TEMPLATE = subdirs

SUBDIRS = addwindow \

plugin \

意思是包含两个子文件夹“addwindow”和“plugin”。

② plugin文件夹直接复制echoplugin(D:\Qt\Qt5.9.3\Examples\Qt-5.9.3\widgets\tools\echoplugin)里面的设置,只有函数名等等做了点修改。

③ addwindow完全可以自己新建。

仿照echoplugin,在addwindow里面设置插件接口类;

做个界面。

插件和使用插件的软件的联系体现在以下几处:

(1)插件接口类

(2)插件id

// 在插件的头文件中
#include "addinterface.h"


class AddPlugin : public QObject, AddInterface
{
    Q_OBJECT
    Q_PLUGIN_METADATA(IID "Qt.test.EchoInterface" FILE "echoplugin.json")
    Q_INTERFACES(AddInterface)

public:
    int add(int a, int b) override;
};
// 在插件的pro文件中
#! [0]
TEMPLATE = lib
CONFIG += plugin
QT += widgets
HEADERS = addplugin.h
SOURCES = addplugin.cpp
TARGET = $$qtLibraryTarget(addplugin)
DESTDIR = ../plugins
INCLUDEPATH += ../addwindow # 添加接口类头文件的路径
#! [0]

EXAMPLE_FILES = echoplugin.json

# install
target.path = $${OBJECTS_DIR}/plugins  # 生成的插件存放的路径
INSTALLS += target

CONFIG += install_ok # Do not cargo-cult this!

 

你可能感兴趣的:(其他学习笔记)