Qt插件制作笔记part1

我的项目是为两个不同规格的电压箱子设计控制软件和界面,两个电压箱的基本区别是数据传输协议。所需做的工作是一样的。

这次的设计方式是把两个不同的电压箱类制作成插件的形式,用户打开软件的时候可以自动选择插件。两个电压箱类有一个父类来定义共同需要的函数,以及一部分虚函数来让子类分别实现其功能。

插件的制作过程现在想到两种方式:

第一种是把电压箱父类单独作为一个项目,生成动态链接库。运用其头文件和动态链接库被“静态”链接到子类项目中。编译子类项目生成动态链接库,子类dll连父类dll然后子类dll作为插件供界面控制类使用。

第二种方式是做一个全是虚函数的父类interface,然后让父类作为这个interface以及其他类的共同派生类,例如我的电压箱父类是QObject和interface的子类。interface里面的虚函数在父类或者子类的源文件里面实现。编译时候发现因为我把父类头文件和源文件放进其中一个子类的项目中,另一个子类在变异过程中因为调用了父类的一些信号和槽函数,但是该项目路径下没有包含父类文件,导致运行qmake时候不会自动连接父类生成的moc_device.cpp文件造成编译失败。所以要在该子类添加已有文件,把父类文件添加进来然后进行编译。


代码代码代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值