libreCAD源码阅读笔记1

本文是libreCAD源码阅读笔记的第一部分,主要探讨了Main.cpp中的main函数,LC_Application类以及QC_ApplicationWindow主窗口的实现。在main函数中,程序进行初始化并读取配置,显示启动画面。LC_Application维护着打开文件的列表,而QC_ApplicationWindow基于QMdiArea构建,包含各种浮动窗口、菜单栏和工具栏。LC_ActionFactory生成Action,QG_ActionHandler处理事件交互。后续将研究更多细节,如MDI窗口、ActionHandler及界面元素。

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

libreCAD源码阅读笔记1

一 前言:

正如官网(https://www.librecad.org)所说,libreCAD是一个开源的CAD制图软件,可以运行在Windows、Apple、Linux平台之上。事实上libreCAD是QCAD的一个简易版本实现,只不过libreCAD采用全C++实现,而QCAD采用了C++结合EcmaScript语言实现(参考https://blog.youkuaiyun.com/mrbaolong/category_10265952.html?spm=1001.2014.3001.5482)。

二 libreCAD源码学习

1.src/Main/Main.cpp

分析main函数,大体上也就完成了以下工作。在初始化LC_Application之后,程序还读取了相关配置信息(QSettings),如果是第一次加载程序,在QG_DlgInitial界面设置相关内容,然后调用程序启动画面(QSplashScreen),同时加载其他组件等内容。待准备工作完成后,启动程序主窗口。
大体流程

2.src/Main/LC_Application

LC_Application继承QApplication,并且维护着一个打开文件的文件列表。
LC_Applicaiton

3.src/Main/QC_ApplicationWindow

  • 主窗口

QC_ApplicaitonWindow作为程序主窗口,继承自MainWindowX类,该类主要实现了几个控制浮动窗口关闭与否的函数,也提供根据浮动窗口标题记性排序功能。大部分程序功能在QC_ApplicationWindow中实现。程序主窗口由QMdiArea/QMdiSubWindow构建多文档类型主窗口。主窗口中维护着各种浮动窗口(图层控制、鼠标面板、画笔面板。。。)、菜单栏、工具栏、状态栏等窗口部件。
QC_ApplicationWindow

  • Action
    在这里插入图片描述
    LC_ActionFactory 类相当于一个工具类,生成程序Action。主窗口a_map变量保存维护一个 【名称-Action】对应关系,每个Action触发后,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值