本文通過 Windows 開發(fā)平臺(tái)和 Qt creator5.4 版本+Min GW4.9 調(diào)試器及 Libre CAD開發(fā)工具來編寫 CAD/CAM 一體化上位機(jī)軟件。由于當(dāng)前 PC 機(jī)主流操作系統(tǒng)是Windows,且 PC 軟硬件系統(tǒng)性能不斷提高,價(jià)格持續(xù)下降,因此本 CAD/CAM 系統(tǒng)是基于 Windows 平臺(tái)開發(fā)運(yùn)行的。Qt 是由挪威 Troll Tech 公司于 1991 年開發(fā)的跨平臺(tái) C++圖形用戶界面應(yīng)用程序開發(fā)框架[41]。Qt Creator 是一個(gè)用于 Qt 開發(fā)的輕量級(jí)跨平臺(tái)集成開發(fā)環(huán)境,它支持跨平臺(tái)開發(fā)設(shè)計(jì)的集成開發(fā)環(huán)境(IDE),且使新接觸 Qt語言的開發(fā)人員能夠快速入門,主要功能特點(diǎn)可以概括為以下幾個(gè)方面: (1)面向?qū)ο?/span>
QT 支持模塊化設(shè)計(jì),它的組件、元素能夠被多次重復(fù)使用。一個(gè)組件不需要知道其具體的內(nèi)容和功能,就可以利用信號(hào)(signal)和槽(slot)來與外界進(jìn)行通信和交流。而且所有 QT 的組件都可以通過繼承來獲得使用。
(2)組件間的相互通信
QT 提供的信號(hào)(signal)與槽(slot)不僅是一種非常安全可靠的通信方式,而且還支持回調(diào),并且在兩個(gè)對(duì)象對(duì)彼此并不了解的情況下,這兩個(gè)對(duì)象仍然可以進(jìn)行合作和交流,這一點(diǎn)使得 QT 合適于真正的組件式編程。
(3)用戶自定義組件 其它的開發(fā)工具包在應(yīng)用時(shí)都存在一個(gè)普遍的問題,使用者在使用時(shí)經(jīng)常會(huì)發(fā)現(xiàn)沒有自己需要的組件,對(duì)于一些自定義的組件,使用者并不知道組件的具體內(nèi)容,對(duì)組件不能了解的很清楚。而在 QT 中,使用者能夠很方便的創(chuàng)建自己想要的組件,而且生成自定義組件的過程也非常簡單,并且可以對(duì)組件的信息進(jìn)行修改,而且 QT 還包含了大量用來創(chuàng)建專業(yè)界面所需要的組件,比如按鈕、滾動(dòng)條等。 (4)方便性 QT 是一個(gè)具有跨平臺(tái)特性的圖形用戶界面(GUI)工具包,為了使開發(fā)人員在編程時(shí)更加方便,QT 包含了大量的類,這些類能夠幫助開發(fā)人員在進(jìn)行文件處理、時(shí)間處理等問題時(shí)避免大量的麻煩[42~43]。 (5)豐富的 API 函數(shù) 為了滿足廣大用戶的需求,QT 的 API 提供了 250 多個(gè) C++類,該類大部分用于專門的圖形用戶界面(GUI)開發(fā),QT 還提供了基于模板的初始化、常用表達(dá)式解析、日期/時(shí)間類等功能。通過對(duì)這些類的利用,可以建立和生成不同的功能,實(shí)現(xiàn)QT 的通用化[44~45]。 (6)優(yōu)越的繪畫功能 QT 的繪畫工具 QPainter 類可以很容易在各個(gè)系統(tǒng)平臺(tái)上實(shí)現(xiàn)對(duì)文本的旋轉(zhuǎn)、像素的映射及圖形潤色等功能。另外 QT 提供的 QGLWidget 類支持 2D/3D 圖形的繪制。而且 QGLWidget 類的使用方法和普通的 QT 組件一樣非常方便。這比純粹的用Open GL 做的 3D 圖形更好。QT 的這一特點(diǎn)非常適合進(jìn)行數(shù)控系統(tǒng)梯形圖的繪制以及系統(tǒng)圖形顯示界面的繪制。良好的 CAD/CAM 一體化上位機(jī)軟件操作界面一般應(yīng)具有以下的幾個(gè)方面的特點(diǎn): (1)功能足夠強(qiáng)大,能夠基本滿足 CAD/CAM 模塊的功能; (2)方便性,操作的界面應(yīng)簡單美觀,且能夠?qū)崟r(shí)反饋用戶交互的操作; (3)安全可靠性,能夠?qū)﹀e(cuò)誤的信息進(jìn)行自適應(yīng)診斷,不死機(jī); (4)動(dòng)態(tài)性和可擴(kuò)充性。