QCAD v3.23.0.3源码分析(一)准备工作,去商业插件

简介: QCAD v3.23.0.3源码分析(一)准备工作,去商业插件

一、准备工作


0、学习软件都有什么功能,实操感受一下,请下载商业版exe:https://www.qcad.org/en/


官网只提供商业试用版exe。如果你觉得试用的功能好用,就购买许可,将试用功能变成正式功能。如果你不想使用这些额外的功能,可以手工删除 plugins目录下的试用dll。软件就变成了免费社区版。


删除安装路径\QCAD\plugins\下面的商业dll文件:


qcaddwg.dll


qcadpolygon.dll


qcadproscripts.dll


qcadspatialindexpro.dll


qcadtriangulation.dll


仅仅保留2个开源免费的插件文件即可:


qcaddxf.dll


qcadscripts.dll


1、QCAD所有的UI界面都是使用js实现的,入口是:\qcad-3.23.0.3\scripts\autostart.js


2、QCAD的软件配置文件在:C:\Users\<用户名>\AppData\Roaming\QCAD\QCAD3.ini


3、js的IDE推荐JetBrains WebStorm


4、QDebug()等命令在Visual Studio中的打印输出:因为VS默认使用的是窗口,如果想像平时运行C++程序一样在控制台看到输出信息,则需要改用控制台。


步骤:VS-IDE>项目>属性>配置属性>链接器>系统,编辑子系统,把"窗口"改为“控制台”


5、js的断点调试


步骤:VS-IDE>项目>属性>配置属性>调试->命令参数,"-enable-script-debugger"


//先初始化

QScriptEngine engine;

QScriptEngineDebugger debugger;

debugger.attachTo(&engine);

//然后在evaluate函数之前加入debugger->action(),会自动弹出可视化的调试窗口

debugger->action(QScriptEngineDebugger::InterruptAction)->trigger();

engine->evaluate(contents, fileName);

6、脚本


\qcad-3.23.0.3\src\scripts\scripts.qrc和scripts_release.qrc是Qt资源文件,管理脚本文件,如新增和删除等


\qcad-3.23.0.3\scripts\是脚本软件




---


相关学习资料:


https://www.runoob.com/js/js-tutorial.html JavaScript教程


https://doc.qt.io/qt-5.12/qtscript-index.html Qt Script


https://doc.qt.io/qt-5.12/qscriptengine.html  QScriptEngine


https://doc.qt.io/qt-5.12/qscriptenginedebugger.html Qt Script断点调试


ECMAScript


https://blog.csdn.net/tianyapai/article/category/8548350 QCad源码分析


https://blog.csdn.net/tianyapai/article/category/8500765 Qt Script翻译


https://blog.csdn.net/WindFlowInTheSky/article/details/80674206 使用QCAD进行二次开发之主要框架


https://github.com/zippy84/lc-qcad



相关文章
|
6月前
|
设计模式 前端开发 Java
【深入浅出Spring原理及实战】「夯实基础系列」360全方位渗透和探究SpringMVC的核心原理和运作机制(总体框架原理篇)
【深入浅出Spring原理及实战】「夯实基础系列」360全方位渗透和探究SpringMVC的核心原理和运作机制(总体框架原理篇)
69 0
|
6月前
|
Dubbo 前端开发 Java
让你在组建企业级项目时手到擒来——浅谈各类常用工具和框架概述
让你在组建企业级项目时手到擒来——浅谈各类常用工具和框架概述
|
5月前
|
数据建模
技术经验解读:ZVS振荡电路工作原理分析
技术经验解读:ZVS振荡电路工作原理分析
100 1
|
5月前
|
存储 XML 数据库
深入地了解Android应用开发的流程和技术
深入地了解Android应用开发的流程和技术
44 0
|
6月前
|
新零售 搜索推荐 大数据
二二复制公排系统开发|成熟案例|项目原理
新零售的意思是应用新互联网技术和新思维的活动
潮玩元宇宙大逃杀游戏系统开发稳定版/案例设计/详细功能/需求逻辑/源码项目
The development rules of virtual reality game systems, especially the metaverse escape game system, can vary depending on specific designs and requirements. The following are some common development rules and considerations that may include
|
缓存 算法 前端开发
协同文档工作机制简介
随着在线办公的兴起,传统办公套件 Office 的在线化需求也随之增加。钉钉文档作为钉钉核心办公套件之一,上线已经三年,其间持续迭代,已成为一个极其复杂的产品。对前端工程师而言,协同文档是一个较为有挑战的领域,除了传统天坑富文本编辑器外,还引入了协同编辑这一挑战,钉钉文档甚至还支持专业排版能力。 来自钉钉的前端技术专家本杰,就在第十六届D2前端技术论坛进行了分享,本次分享以钉钉文档为例,简述协同文档的工作机制。
720 0
协同文档工作机制简介
|
缓存 JSON 前端开发
腾讯开源的 hel 提供了加载远程模块的能力,谈谈它的实现原理
腾讯开源的 hel 提供了加载远程模块的能力,谈谈它的实现原理
180 0
|
算法 Go
阐述:one wiex壹维克斯平台逻辑系统开发项目模式方案
阐述:one wiex壹维克斯平台逻辑系统开发项目模式方案
415 0
|
测试技术 Python
【第五篇-完结篇】XiaoZaiMultiAutoAiDevices之改造扩展
在前面系列文章中有讲到,使用configparser,ini格式的文件作为配置文件,在新增或者删除其中的值时,会丢失所有注释,所以在框架源码注释中我有写到,如果对这方面比较介意或者是有需求的话,可以进行更改配置文件。
129 0