Qt5插件试水

本文档介绍了在Windows 10环境下,使用Qt Creator 5.9.3进行Qt5插件开发的过程。参考了Qt自带的example echoplugin及网络资源,详细讲述了如何在同一个工程中创建插件子工程和调用插件的系统子工程,包括修改插件源码、定义插件接口类以及创建相应界面。项目源码已上传至GitHub。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

平台: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!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值