QT笔记——vs + qt 创建一个带界面的 dll 和 调用带界面的dll

这篇具有很好参考价值的文章主要介绍了QT笔记——vs + qt 创建一个带界面的 dll 和 调用带界面的dll。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

用VS + qt 生成dll 和 调用生成的dll
环境: vs 2019 + qt 5.12

创建dll
上一次我们是直接使用的qt 为我们提供方便的类库创建 ,这次呢 我们自己写类库
第一步:创建一个QT应用程序

QT笔记——vs + qt 创建一个带界面的 dll 和 调用带界面的dll
第二步,修改程序为 生成dll
并且 我修改了生成的所在路径
QT笔记——vs + qt 创建一个带界面的 dll 和 调用带界面的dll
添加QT的模块 ,自己用了什么,就添加什么,对应自己的版本,我的是release
QT笔记——vs + qt 创建一个带界面的 dll 和 调用带界面的dll
代码如下:自己手动添加了 宏

#pragma once

# if defined Widget_DLL
#  define WidgetDLL_EXPORT Q_DECL_EXPORT
# else
#  define WidgetDLL_EXPORT Q_DECL_IMPORT
# endif

#include <QtWidgets/QWidget>
#include "ui_WidgetDLL.h"

class WidgetDLL_EXPORT WidgetDLL : public QWidget
{
    Q_OBJECT

public:
    WidgetDLL(QWidget *parent = Q_NULLPTR);

private:
    Ui::WidgetDLLClass ui;
};

QT笔记——vs + qt 创建一个带界面的 dll 和 调用带界面的dll
这样我们就是一个导出类了
QT笔记——vs + qt 创建一个带界面的 dll 和 调用带界面的dll
第三步:生成我们的界面dll
QT笔记——vs + qt 创建一个带界面的 dll 和 调用带界面的dll
include 包含头文件 ui_xxx.h 这是我们uic 编译 所生成的文件 ,我们需要添加进来,否则会报错 ,找不到它,他在什么位置呢? 在我们的uic文件夹中 可以找到 该文件
QT笔记——vs + qt 创建一个带界面的 dll 和 调用带界面的dll
bin中所包含的动态库 和 导入库 (这里的lib其实是导入库,不是静态库)
QT笔记——vs + qt 创建一个带界面的 dll 和 调用带界面的dll

第四步:调用我们生成的界面dll
如何调用呢,其实和我们上一次链接的是相同的
QT笔记——vs + qt 创建一个带界面的 dll 和 调用带界面的dll
QT笔记——vs + qt 创建一个带界面的 dll 和 调用带界面的dll
QT笔记——vs + qt 创建一个带界面的 dll 和 调用带界面的dll

QT笔记——vs + qt 创建一个带界面的 dll 和 调用带界面的dll
我们需要将 界面dll 与 exe 同级
QT笔记——vs + qt 创建一个带界面的 dll 和 调用带界面的dll

运行结果如下:
QT笔记——vs + qt 创建一个带界面的 dll 和 调用带界面的dll文章来源地址https://www.toymoban.com/news/detail-435643.html

到了这里,关于QT笔记——vs + qt 创建一个带界面的 dll 和 调用带界面的dll的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • QGIS二次开发六:VS不借助QT插件创建UI界面

    上一篇博客我们说了在VS中如何使用QT插件来创建UI界面,但是我们二次开发QGIS的第一篇博客就说了,最好使用OSGeo4W中自动下载的QT进行QGIS二次开发,这样兼容性是最好的,那么该如何在VS中不使用外部安装的QT以及QT的VS插件情况下进行UI界面的创建和使用呢? 如果你仔细看完

    2024年02月13日
    浏览(39)
  • QT--3.创建一个简单的图形界面

    qt的移植性非常强。 1.创建一个工程 2.项目选择Application,然后选择Qt Widgets Application,最后选择choose。 注意:创建项目的名称和路径是不能有中文的!!!! 点击下一步后,就可以自动生成工程 .pro文件 点击forms,双击点击ui文件 在组件属性设计里面选择长度宽度800x600 用到的

    2024年02月03日
    浏览(53)
  • VS基于Qt上创建项目出现红波浪线线及项目创建不了的问题,给出个人的一个解决方法供给大家参考

    (1)我电脑上的Visual studio 2015和Qt Creator这两个软件都是安装成功可以编译运行的。 我也在Visual studio 2015平台 》 工具 -》》 更新与扩展 那里下载了Qt VS Tools,路径什么的都指定好了但是同样创建不了。 (2)过一段时间这时候我又重新把Qt VS Tools卸载重新安装, 安装好之后重

    2024年02月07日
    浏览(82)
  • C++QT教程3——手册4.11.1自带教程(笔记)——创建一个QT快速应用

    本教程使用内置的QML类型,介绍了Qt Quick的基本概念。有关可以选择的用户界面选项的更多信息,请参阅用户界面。 本教程描述了如何使用Qt Creator实现Qt Quick状态和过渡。我们创建一个应用程序,在单击页面上的三个矩形时,显示一个移动的Qt标志。 关于QML: QML(Qt Meta-Obj

    2024年02月13日
    浏览(53)
  • C++QT教程3——手册4.11.1自带教程(笔记)——创建一个基于Qt Widget的应用程序

    本教程介绍如何使用Qt Creator创建一个小型Qt应用程序,名为Text Finder。它是Qt UI工具中Text Finder示例的简化版本。应用程序的用户界面是使用Qt Designer通过Qt小部件构建的。应用程序逻辑是通过使用代码编辑器编写的C++代码。 选择文件 新建文件或项目 应用程序 Qt Widgets应用程序

    2024年02月13日
    浏览(51)
  • QT QPluginLoader 插件开发 ui界面打包dll

     将项目模块化,每一个模块单独开发,模块的组成形成最终的主程序, 点击左侧按钮就会弹出对应的插件应用,每一个子窗口都是单独的dll 插件, 灵活,升级,下载,卸载。 效果:     打开QT Creator 新建插件开发项目  下一步后选择 Qt Plugin 开发 添加依赖库,在.pro里  

    2024年02月11日
    浏览(44)
  • Qt动态调用(外部调用)SDK库(dll动态库)

    ​​​​​​​  之前的文章,介绍了Qt调用sdk库的方式,大家可以点击查看(Q调用SDK库(dll动态库))之前的文章,里面介绍的调用方式就是静态的调用方式。如下图所示,需要提供.h文件,dll文件和lib文件。  本篇文章主要实现通过一个dll文件,外部动态调用的方式来调用我

    2024年02月09日
    浏览(41)
  • Qt6之vc调用qt生成的带ui的dll

    受益于跨平台的特性,Qt生成dll的各种语言调用上体现的淋漓尽致,上篇已经演示了qt生成的无ui的dll及vc如何调用它,本篇将演示vc如何调用qt生成的带ui的dll。 传统观点认为Qt生成的带ui的dll受限于 QApplication 的 exec 方法,这样才能产生消息循环于是只能采用QTWinmigrate中重写

    2024年02月12日
    浏览(44)
  • VS2019生成的DLL,给QT(MinGW版本)使用的小结

    a 基于生成一个DLL的工程(要注意生成是x86,还是x64的,需要和后面的QT的App工程对应),这里不多解释了,网上多的是; b 在cpp实现文件里,假如要导出一个这样的函数: 那么,它对应的头文件,如abc.h,一定如下:即在头文件里,使用了extern \\\"C\\\"来限制这个函数名,这样的

    2024年02月12日
    浏览(41)
  • Qt调用主界面ui

    在其他类中使用主界面ui,this,控件操作等 首先,子类需要包含主界面的头文件和ui_xx.h文件,声明主界面类 然后使用构造函数把主界面的指针传递给子类 子类头文件: 子类cpp文件: 主界面头文件设置ui为公有: 主界面cpp文件设置: 效果图:

    2024年02月02日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包