本文通过 Windows 开发平台和 Qt creator5.4 版本+Min GW4.9 调试器及 Libre CAD开发工具来编写 CAD/CAM 一体化上位机软件。由于当前 PC 机主流操作系统是Windows,且 PC 软硬件系统性能不断提高,价格持续下降,因此本 CAD/CAM 系统是基于 Windows 平台开发运行的。Qt 是由挪威 Troll Tech 公司于 1991 年开发的跨平台 C++图形用户界面应用程序开发框架[41]。Qt Creator 是一个用于 Qt 开发的轻量级跨平台集成开发环境,它支持跨平台开发设计的集成开发环境(IDE),且使新接触 Qt语言的开发人员能够快速入门,主要功能特点可以概括为以下几个方面: (1)面向对象
QT 支持模块化设计,它的组件、元素能够被多次重复使用。一个组件不需要知道其具体的内容和功能,就可以利用信号(signal)和槽(slot)来与外界进行通信和交流。而且所有 QT 的组件都可以通过继承来获得使用。
(2)组件间的相互通信
QT 提供的信号(signal)与槽(slot)不仅是一种非常安全可靠的通信方式,而且还支持回调,并且在两个对象对彼此并不了解的情况下,这两个对象仍然可以进行合作和交流,这一点使得 QT 合适于真正的组件式编程。
(3)用户自定义组件 其它的开发工具包在应用时都存在一个普遍的问题,使用者在使用时经常会发现没有自己需要的组件,对于一些自定义的组件,使用者并不知道组件的具体内容,对组件不能了解的很清楚。而在 QT 中,使用者能够很方便的创建自己想要的组件,而且生成自定义组件的过程也非常简单,并且可以对组件的信息进行修改,而且 QT 还包含了大量用来创建专业界面所需要的组件,比如按钮、滚动条等。 (4)方便性 QT 是一个具有跨平台特性的图形用户界面(GUI)工具包,为了使开发人员在编程时更加方便,QT 包含了大量的类,这些类能够帮助开发人员在进行文件处理、时间处理等问题时避免大量的麻烦[42~43]。 (5)丰富的 API 函数 为了满足广大用户的需求,QT 的 API 提供了 250 多个 C++类,该类大部分用于专门的图形用户界面(GUI)开发,QT 还提供了基于模板的初始化、常用表达式解析、日期/时间类等功能。通过对这些类的利用,可以建立和生成不同的功能,实现QT 的通用化[44~45]。 (6)优越的绘画功能 QT 的绘画工具 QPainter 类可以很容易在各个系统平台上实现对文本的旋转、像素的映射及图形润色等功能。另外 QT 提供的 QGLWidget 类支持 2D/3D 图形的绘制。而且 QGLWidget 类的使用方法和普通的 QT 组件一样非常方便。这比纯粹的用Open GL 做的 3D 图形更好。QT 的这一特点非常适合进行数控系统梯形图的绘制以及系统图形显示界面的绘制。良好的 CAD/CAM 一体化上位机软件操作界面一般应具有以下的几个方面的特点: (1)功能足够强大,能够基本满足 CAD/CAM 模块的功能; (2)方便性,操作的界面应简单美观,且能够实时反馈用户交互的操作; (3)安全可靠性,能够对错误的信息进行自适应诊断,不死机; (4)动态性和可扩充性。