首页 > 其他分享 >基于Qt的桌面客户端组件化框架DT 开源啦

基于Qt的桌面客户端组件化框架DT 开源啦

时间:2022-12-29 16:01:57浏览次数:65  
标签:Qt 框架 编译 开源 开发 组件 DT 客户端


这个是本人在工作中基于QT开发的组件化桌面开发框架,目前打算开源出来提供给大家,节省大家的开发时间和效率,希望对大家的开发有所帮助,也欢迎提出意见和改进建议

1. 为什么开源DT框架

  • DT框架,本身就是基于QT为基础搭建的开发框架,其中用到了一些许多常用的设计模式,可以助于开发者快速开发客户端系统,参考了组件化的设计思想,所以尝试开源DT框架,之前在互联网上也接触很多的开源框架,所以打算回馈于开源,为开源软件业贡献自己的一份小小力量
  • 就目前所有开源的客户端开发框架来看,个人认为DT框架最大的优势在于:
  1. 借助于QT丰富的API文档,可以极其方便用户进行掌握,使用该框架
  2. 组件化的设计思想,可以很方便的复用各类的组件,all function is a tool
  3. UI+业务的绑定,不需要用户去写完UI再去写业务,设计思想承接自Vue

当然,目前该框架肯定还存在很多的缺陷,因为目前主要是我一个人在开发和维护这套框架,也希望其他的对开源感兴趣的用户能一起贡献代码,提高DT框架的健壮性!

​DT​​是一套基于商业化标准的开源UI组件业务框架,不仅能提供完善的代码设计、详细的业务实现框架,框架的稳定性已在多个大型商化项目中通过验证,其中不仅限AI智能相机客户端项目

  • DT库有在大型项目中使用,可以稳定放心,​​AI智能相机​​, ​​演示视频​
  • DT库的代码统一规范,方便阅读
  • DT库拥有拥有扩展性:基于基类,可以扩展各个插件通信
  • DT框架完全开源

2. 开源协议

  • 可以随意使用修改源码
  • 您在使用过程中觉得好的话可以加个star!

3. 关于

  • 技术支持:
  • DT框架的​​git路径​​​:https://github.com/huifeng-kooboo/DT
    ​​​gitee路径​​: https://gitee.com/huifeng_github/DT [这个在国内访问比较快]


4. 帮助文档

(1)开发环境安装

依赖安装:
  • ​Qt 5.14.2​​ :只需要安装Qt5.14.2即可
  • 需要配置VS2017的MSVC编译 参考​​此处​​ 进行配置环境 【假如有调用到Win相关的API的环境,需要下载】
  • Qt Creator 配置: 工具->选项->文本编辑器->行为->UTF-8 BOM设置成“如果编码是UTF-8则添加”
编译:
  • Qt安装好后,启动QtCreator
  • 基于Qt的桌面客户端组件化框架DT 开源啦_UI

  • 文件----打开文件或项目
  • 基于Qt的桌面客户端组件化框架DT 开源啦_Qt_02

  • 依次打开main.pro以及plugins.pro (如果是用到win相关的api的话,需要选择 MSVC2017 64bit 编译)
  • 编译main.pro以及plugins.pro ,编译成功后,会在bin目录下生成相关的文件

基于Qt的桌面客户端组件化框架DT 开源啦_QT_03

  • dtdt.exe为编译成功的文件

(2)如何在DT框架下进行开发程序

  • TODO

打包部署【win】

  • 打包需要本地先安装python3,进入​​scripts​​文件下
  • 执行 ​​pip install -r requirements.txt​​安装相关依赖
  • 执行scripts的pack.py脚本 ​​python3 pack.py​
  • 脚本执行成功后,会在代码目录下package文件夹生成时间命名的压缩包,并且发送文件下载地址到对应的邮箱

程序运行

  • 正常启动
    直接双击​​dtdt.exe​​即可启动
  • 调试模式
    命令行中执行​​dtdt.exe -debug​​,则使用调试模式启动窗体(带有输出窗口的形式启动软件)

5. 排期计划

  1. UI控件功能完善
  2. 测试用例编写
  3. 技术文档完善
  4. DT软件更新功能开发
  5. TODO…

6. Q&A


标签:Qt,框架,编译,开源,开发,组件,DT,客户端
From: https://blog.51cto.com/u_15906863/5978190

相关文章

  • [DT框架使用教程01]如何在DT框架中创建插件
    [DT框架使用教程01]如何在DT框架中创建插件DT框架代码地址:​​https://github.com/huifeng-kooboo/DT​​由于国内访问速度的问题也可以访问gitee的地址:​​https://git......
  • qt读取txt文件内容
    QFilef("D:\\测试数据\\单波束数据\\灯浮.TGT"); if(!f.open(QIODevice::ReadOnly|QIODevice::Text))//打开指定文件 { QMessageBox::about(NULL,"文件","文件打......
  • Alan Ezust-C++设计模式(基于Qt)-UMLChina讲座-音频和幻灯
    时间2008年7月15日(周二)上午10:00-12:00演讲人AlanEzust。《C++设计模式--基于Qt4开源跨平台开发框架》作者,曾在McGill大学、Suffolk大学以及Leamix、Nertel、Objectivity、......
  • 全局描述符表GDT
    段描述符:为了安全性,为内存段添加一些额外安全属性。添加内存段类型属性来阻止用户程序破坏存储代码的内存区域。添加特权级属性区分用户程序与操作系统。为了限制程序......
  • C# OPC_DA客户端
    安装 MatrikonOPC软件,用来模拟OPC_DA服务器。参考这篇博文:OPCServer:使用MatrikonOPCServerSimulation-ioufev-博客园(cnblogs.com)从网上下载OPCDAAuto.dll参......
  • Kerberos客户端安装配置
    KDC配置 删除supported_enctypes中第一个aes256-cts加密算法                    Windows安装配置   krb5.ini(krb5.conf)......
  • Qt大型工程开发技术选型PartFinal:CLR调用COM组件
    Qt大型工程开发技术选型PartFinal:CLR调用COM组件这里其实没什么内容了,直接上代码吧,如下文所示:#pragmaonce#using<mscorlib.dll>usingnamespaceMain_Activerserver......
  • QT画机器人
    #include<QtWidgets>#include"robot.h"RobotPart::RobotPart(QGraphicsItem*parent):QGraphicsObject(parent),color(Qt::lightGray),dragOver(false){setAcc......
  • QT 结构体字节对界问题
    QT默认是4字节对界,所以程序中使用sizeof()时会出现问题,看采用如下方法:/字节对齐,否则共用体那里指针处理时有问题#pragmapack(push)//保存对齐#pragmapack(1)//设定......
  • git客户端配置用户名和邮箱地址
    1、本地git客户端配置用户名和邮箱地址的作用:用户每次用git提交代码时都会记录用户名和邮箱。2、git设置用户名和邮箱的命令gitconfig--globaluser.name"username"......