【文章內容簡介】
void Calculator::clear() { if (waitingForOperand) return。 displaysetText(0)。 waitingForOperand = true。 } clearAll()函數(shù)會實現(xiàn)計算器的初始化狀態(tài) ,代碼如下 : void Calculator::clearAll() { sumSoFar = 。 factorSoFar = 。 ()。 ()。 displaysetText(0)。 waitingForOperand = true。 } 2)界面中 sqrt 和 x^2 是通過直接對界面設置值的方式實現(xiàn),其代碼如下所示 void Widget::sqrClicked() { double sqr = uidisplaytext().toDouble()。 uidisplaysetText(QString::number(sqrt(sqr)))。 waitingForOperand = true。 } void Widget::squareClicked() { double sqr = uidisplaytext().toDouble()。 9 uidisplaysetText(QString::number(sqr*sqr))。 waitingForOperand = true。 } 3)記憶存儲功能 功能實現(xiàn)代碼如下 : void Calculator::clearMemory() { sumInMemory = 。 } void Calculator::readMemory() { displaysetText(QString::number(sumInMemory))。 waitingForOperand = true。 } void Calculator::setMemory() { equalClicked()。 sumInMemory = displaytext().toDouble()。 } void Calculator::addToMemory() { equalClicked()。 sumInMemory += displaytext().toDouble()。 } clearMemory()函數(shù)可以清除存儲的數(shù)值 ,readMemory()函數(shù)為顯示存儲的數(shù) 值 .setMemory()函數(shù)可以用當前顯示的數(shù)值代替存儲的數(shù)值 ,即設置數(shù)值功 能 ,addToMemory(0 函數(shù)可以把已經(jīng)存儲的數(shù)值加上當前顯示的值并存儲 . 10 4 系統(tǒng)運行和測試 搭建開發(fā)環(huán)境 準備安裝軟件包: 啟動 RedHat 的圖形界面,以 root 身份登陸在文本模式下,輸入命令 startx啟動圖形界面。進入 RedHat 圖形界面后,打開一個終端窗口( Terminal),點擊【紅帽 ?System Tools?Terminal】啟動終端窗口。輸入以下 5 條命令: ① cd /pxa270_linux/Qt ② cp /home arf ③ cd /home ④ tar zvxf ⑤ tar zvxf 建立 QTE 開發(fā)環(huán)境 : 在上面打開的同一個終端( Terminal)中,輸入以下 4 條命令來搭建整個QTE 開發(fā)環(huán)境: ① source ② cd ③ ./configure –xplatform linux–arm–g++ depths 4,8,16,32 在 configure 過程中,會出現(xiàn)如下打印的信息,請您進行如下對話選擇: This is the QT/Embedded Free Edition. You are licensed to use this software under the terms of the GNU General Public License (GPL). Type 39。G39。 to view the GNU General Public License. Type 39。yes39。 to accept this license offer. Type 39。no39。 to decline this license offer. Do you accept the terms of the license? 輸入: yes 回車 回車之后,系統(tǒng)就會開始配置,并生成相應的 Makefile 文件。當出現(xiàn)下列信息是,則表示配置系統(tǒng)完成。 Qt is now configured for building. Just run /usr/bin/gmake. To reconfigure, run /usr/bin/gmake confclean and configure. 11 當生成 Makefile 之后,在上面同一個終端窗口下輸入第 4 條命令 make對 的源碼開始進行編譯。 ④ make 若編譯過程中沒有出現(xiàn)任何 error,則會有如下提示: The Qt library is now built in ./lib The Qt examples are built in the directories in ./examples The Qt tutorials are built in the directories in ./tutorial Note: be sure to set $QTDIR to point to here or to wherever you move these directories. Enjoy! the Trolltech team 這樣便搭建好了 QT 編譯環(huán)境了, Qt Designer 界面如 圖 5所示 : 圖 5: Qt界面 運行及測試 在 arm 板下, /home 目錄中先執(zhí)行 source 運行這個腳本后,在arm 上配置 qt,加載 qt 運行的各類庫文件。 如圖 6所示: 圖 6 加載完 QT 運行所需要的庫文件后即可運行 qt文件。 在命令行輸入 ./cal,運行結果如圖 7 所示 . 12 圖 7 運行可執(zhí)行文件 cal 后,在 arm 板上顯示如圖 8所示 : 圖 8 輸入 1+2*3,計算器顯示如 圖 9所示 : 圖 9 因為 *的優(yōu)先級大于 +所以先計算 2*3,然后計算 1+6,結果為 7 當輸入 1/0 的時候界面顯示如圖 10所示: 13 圖 10 輸入 1/0,此時 0為分母,公式錯誤,此時計算器輸出 ,報錯。 繼續(xù)執(zhí)行多次運算 ,計算器顯示皆無誤 .關閉計算器 ,重啟再執(zhí)行運算 ,運算也無誤 ,故此可斷定程序設計正確 . 14 參考文獻 [1]張石 , ARM 嵌入式系統(tǒng)教程 [M] 。北京: 機械工業(yè)出版社 , 2021 [2]曹忠明,程姚根。從實踐中學嵌入式 Linux操作系統(tǒng)[ M]。北京:電子工業(yè)出版社, 2021 [3]宋寶華, Linux設備驅動開發(fā)詳解(第二版)[ M]。北京:人民郵電出版社, 2021。 [4]韋東山,嵌入式 Linux應用開發(fā)完全手冊[ M]。北京:人民郵電出版社, 2021 [5]陸文周, Qt5開發(fā)及實例[ M]。北京:電子工業(yè)出版社, 2021 [6]Stephen Prata, C Primer Plus[ M]。北京:人民郵電出版社, 2021 [7]皺思鐵 , 嵌入式 Linux 設計與應用 [M] 。北京: 清華大學出版社 , 2021 [8]閆放鶯 , 基于嵌入式 Linux 軟件平臺技術的研究 [D] 。 西安 : 西北大學 , 2021 15 致 謝 經(jīng)過兩周的努力,在組員的互