2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩32頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  畢業(yè)設(shè)計(jì)報(bào)告(論文)</p><p>  題目:一種基于Qt的科學(xué)計(jì)算器系統(tǒng) </p><p> 所 屬 系電子工程系</p><p> 專(zhuān) 業(yè)電子科學(xué)與技術(shù)</p><p> 學(xué) 號(hào)01308150</p><p> 姓 名羊元東</p><p> 指導(dǎo)

2、教師滕衍萍</p><p> 起訖日期2013.2 --- 2013.5</p><p> 設(shè)計(jì)地點(diǎn)東南大學(xué)成賢學(xué)院</p><p>  東南大學(xué)成賢學(xué)院畢業(yè)設(shè)計(jì)報(bào)告(論文)</p><p><b>  誠(chéng) 信 承 諾</b></p><p>  本人承諾所呈交的畢業(yè)設(shè)計(jì)報(bào)告(論文)及取得的成果是

3、在導(dǎo)師指導(dǎo)下完成,引用他人成果的部分均已列出參考文獻(xiàn)。如論文涉及任何知識(shí)產(chǎn)權(quán)糾紛,本人將承擔(dān)一切責(zé)任。</p><p>  學(xué)生簽名: </p><p><b>  日  期:</b></p><p>  一種基于Qt的科學(xué)計(jì)算器系統(tǒng)</p><p><b>  摘 要</b>&l

4、t;/p><p>  人類(lèi)已經(jīng)進(jìn)入信息化時(shí)代。信息技術(shù)發(fā)展日新月異,計(jì)算器已經(jīng)進(jìn)入人們生活的各個(gè)領(lǐng)域,在現(xiàn)代生活中不可或缺,大型復(fù)雜的計(jì)算是人腦所不能勝任的,而且較易出錯(cuò)。本文針對(duì)Qt科學(xué)計(jì)算器進(jìn)行研究,增加了很多功能,給用戶(hù)帶來(lái)了很多方便,并且提高了用戶(hù)的運(yùn)算效率。</p><p>  本文從項(xiàng)目背景、需求分析、軟件設(shè)計(jì)等方面詳細(xì)說(shuō)明了Qt科學(xué)計(jì)算器的開(kāi)發(fā)設(shè)計(jì)過(guò)程。軟件采用linux編寫(xiě)代碼

5、,Qt 設(shè)計(jì)界面來(lái)開(kāi)發(fā)。計(jì)算器包含簡(jiǎn)單計(jì)算功能。</p><p>  計(jì)算器具有界面可視化,方便用戶(hù)操作等特點(diǎn),并且該計(jì)算器的算式提取與存儲(chǔ)功能使得算式計(jì)算更加快捷方便,為用戶(hù)進(jìn)行大量復(fù)雜科學(xué)計(jì)算提供了有效保證。</p><p>  關(guān)鍵詞:科學(xué)計(jì)算器;進(jìn)制轉(zhuǎn)換;算式提??; Qt </p><p>  English title</p><p&g

6、t;<b>  Abstract</b></p><p>  Mankind has entered the information age. The rapid development of information technology, the calculator has entered all spheres of life of the people, an integral pa

7、rt of modern life, a large complex calculations the human brain is incapable of, and error-prone. For Qt scientific calculator, adding a lot of features, a lot of convenience to the user, and improve the operational effi

8、ciency of the user.</p><p>  From the project background, requirements analysis, software design and other aspects of a detailed description of the development of the design process of the Qt scientific calc

9、ulator. The software uses the Linux write code, Qt interface design to develop. The calculator contains a simple calculation functions.</p><p>  The calculator interface visualization, user-friendly operatio

10、n, and the calculator formula extraction and storage features make the formula quicker and more convenient for the user to carry out a large number of complex scientific calculations provide an effective guarantee.</p

11、><p>  Keyword: Scientific calculators; binary conversion; formula extract; Qt </p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  AbstractII&

12、lt;/p><p><b>  第一章 緒論1</b></p><p>  1.1 項(xiàng)目背景1</p><p>  1.2 項(xiàng)目?jī)?nèi)容和要求1</p><p>  1.2.1 題目介紹1</p><p>  1.2.2 題目要求1</p><p>  1.3 項(xiàng)目特點(diǎn)及

13、意義1</p><p>  第二章 需求分析3</p><p>  2.1 功能需求一3</p><p>  2.2 功能分析3</p><p>  2.3 安全性分析4</p><p>  2.4 可行性分析4</p><p>  2.5 系統(tǒng)設(shè)計(jì)工具4</p>&

14、lt;p>  2.5.1 fedora技術(shù)簡(jiǎn)介4</p><p>  2.5.2 QSqlite數(shù)據(jù)庫(kù)技術(shù)4</p><p>  第三章 軟件設(shè)計(jì)6</p><p>  3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)6</p><p>  3.1.1 實(shí)體屬性圖6</p><p>  3.1.2 關(guān)系模型設(shè)計(jì)6</p>

15、;<p>  3.1.3 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)7</p><p>  第四章 簡(jiǎn)單的計(jì)算器8</p><p><b>  4.1項(xiàng)目目的8</b></p><p><b>  4.2項(xiàng)目?jī)?nèi)容8</b></p><p><b>  4.3項(xiàng)目步驟8</b><

16、;/p><p>  第五章 計(jì)算器程序的實(shí)現(xiàn)11</p><p>  第六章 源代碼的分析說(shuō)明14</p><p>  第七章 編譯運(yùn)行20</p><p>  第八章 計(jì)算器程序的移植21</p><p><b>  致 謝23</b></p><p><b

17、>  參考文獻(xiàn)24</b></p><p><b>  第一章 緒論</b></p><p><b>  1.1 項(xiàng)目背景</b></p><p>  隨著計(jì)算機(jī)的飛速發(fā)展,人類(lèi)已經(jīng)進(jìn)入信息化時(shí)代。信息技術(shù)發(fā)展日新月異,計(jì)算已經(jīng)進(jìn)入人們生活的各個(gè)領(lǐng)域,在現(xiàn)代生活中不可或缺,大型復(fù)雜的計(jì)算是人腦所不能勝任

18、的,而且較易出錯(cuò)。以前的計(jì)算器只能進(jìn)行簡(jiǎn)單的加減乘除四則運(yùn)算,而且只能進(jìn)行單步運(yùn)算,如果遇到較長(zhǎng)的算式時(shí)就得讓用戶(hù)一步一步輸入,浪費(fèi)很多時(shí)間,還會(huì)可能遺漏數(shù)據(jù)內(nèi)容,讓用戶(hù)得多次輸入算式驗(yàn)證,如果一次錯(cuò)誤就得驗(yàn)證多遍,浪費(fèi)時(shí)間效率低下。隨著科技的發(fā)展,人們所學(xué)習(xí)的內(nèi)容越來(lái)越多,需求越來(lái)越廣泛。</p><p>  本文設(shè)計(jì)的計(jì)算器擴(kuò)大了用戶(hù)的運(yùn)算領(lǐng)域。并且考慮到用戶(hù)有時(shí)常用一些算式,提高了用戶(hù)的效率,方便了用戶(hù)的操

19、作,本文設(shè)計(jì)中主要采用的技術(shù)為Qt ,Qt 為設(shè)計(jì)可視化界面,通過(guò)軟件的設(shè)計(jì)可以快速設(shè)計(jì)出自己需要的界面,然后再到編寫(xiě)各個(gè)按鍵的槽函數(shù)與算法。上網(wǎng)查找資料,看書(shū)查找例子。</p><p>  1.2 項(xiàng)目?jī)?nèi)容和要求</p><p>  1.2.1 題目介紹</p><p>  設(shè)計(jì)一個(gè)功能齊備的QT科學(xué)計(jì)算器,具有算式編輯計(jì)算和普通計(jì)算窗口。具體要求如下:可同時(shí)出現(xiàn)

20、二、八、十六、十等不同進(jìn)制,并可實(shí)現(xiàn)大中小括號(hào)和各類(lèi)不同函數(shù)及位運(yùn)算。三角函數(shù)可設(shè)置度或弧度。設(shè)計(jì)實(shí)現(xiàn)文件處理窗口,可實(shí)現(xiàn)算式的添加、刪除、存儲(chǔ)和提取。</p><p>  普通計(jì)算窗口:支持二、八、十六、十等不同進(jìn)制數(shù)據(jù)的直接輸入、計(jì)算和數(shù)制間的相互轉(zhuǎn)換,當(dāng)輸入回車(chē)鍵或等號(hào)鍵時(shí)直接給出當(dāng)前算式的運(yùn)算結(jié)果,算式計(jì)算和編輯可同時(shí)交叉進(jìn)行,設(shè)置中間變量,方便運(yùn)算過(guò)程中中間數(shù)據(jù)的存儲(chǔ)或提取插入。</p>

21、<p>  1.2.2 題目要求</p><p> ?。?)實(shí)現(xiàn)二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制之間的轉(zhuǎn)換;</p><p>  (2)實(shí)現(xiàn)對(duì)算式的編輯、存儲(chǔ)、粘貼、修改、計(jì)算;</p><p> ?。?)算式長(zhǎng)度可達(dá)256個(gè)字符;</p><p> ?。?)實(shí)現(xiàn)普通計(jì)算和科學(xué)計(jì)算;</p><p> ?。?

22、)實(shí)現(xiàn)大中小括號(hào)和各類(lèi)不同函數(shù)及位運(yùn)算;</p><p> ?。?)支持二、八、十六、十等不同進(jìn)制數(shù)據(jù)的直接輸入、計(jì)算和數(shù)制間的相互轉(zhuǎn)換;</p><p> ?。?)實(shí)現(xiàn)對(duì)各個(gè)按鍵的幫助功能;</p><p>  (8)顯示當(dāng)前日期時(shí)間功能;</p><p>  采用高級(jí)程序設(shè)計(jì)語(yǔ)言,編碼規(guī)范清晰,關(guān)鍵算法或處理須加注釋說(shuō)明。</p&g

23、t;<p>  1.3 項(xiàng)目特點(diǎn)及意義</p><p>  本文對(duì)計(jì)算器進(jìn)行設(shè)計(jì),比傳統(tǒng)計(jì)算其增加了許多功能,使用更方便,主要有以下幾個(gè)特點(diǎn):</p><p> ?。?)計(jì)算速度快,節(jié)省時(shí)間、人力</p><p> ?。?)普通窗口可以進(jìn)行各進(jìn)制的加減乘除運(yùn)算。</p><p> ?。?)科學(xué)計(jì)算窗口可以進(jìn)行小括號(hào)、中括號(hào)、大括

24、號(hào),正弦、余弦,角度,弧度,包括普通窗口的運(yùn)算。</p><p>  (4)可對(duì)算式進(jìn)行存儲(chǔ),添加,刪除等功能。 </p><p>  (5)有幫助功能,可以通過(guò)查詢(xún)查詢(xún)個(gè)按鍵的功能,可以對(duì)按鍵功能添加、刪除。 </p><p> ?。?)提供良好的人機(jī)交互界面,操作簡(jiǎn)單快捷。</p><p>  QT科學(xué)計(jì)算器比傳統(tǒng)計(jì)算器多了很多功能,可以

25、進(jìn)行普通窗口計(jì)算,也可以進(jìn)行科學(xué)窗口計(jì)算。普通窗口計(jì)算時(shí)可以進(jìn)行各種進(jìn)制的四則運(yùn)算,還可以把數(shù)字通過(guò)進(jìn)制轉(zhuǎn)換,得到需要的數(shù)據(jù)??茖W(xué)窗口計(jì)算時(shí)可以把整個(gè)算式輸入進(jìn)行計(jì)算,這樣避免因輸入的數(shù)據(jù)過(guò)多而得多次驗(yàn)證,只需確保輸入的算式正確就可以得到正確的結(jié)果??梢园殉S玫乃闶奖4嫫饋?lái),這樣下次再用時(shí)用戶(hù)可以直接提取算式,避免了因再次輸入算式而浪費(fèi)時(shí)間,提到了效率??茖W(xué)計(jì)算式還可以進(jìn)行,正弦、余弦、角度、弧度、開(kāi)方、平方、或與非等運(yùn)算,并且增加了括

26、號(hào)符號(hào),使得算式具有優(yōu)先級(jí)。提高運(yùn)算效率。并增加了幫助功能,使得用戶(hù)及時(shí)查詢(xún)幫助功能,快速學(xué)會(huì)使用操作。</p><p><b>  第二章 需求分析</b></p><p><b>  2.1 功能需求一</b></p><p>  在程序設(shè)計(jì)中,通過(guò)設(shè)計(jì)、編制、調(diào)試一個(gè)模擬計(jì)算器的程序,加深對(duì)語(yǔ)法及語(yǔ)義分析原理的理解,

27、并實(shí)現(xiàn)對(duì)命令語(yǔ)句的靈活應(yīng)用。在程序設(shè)計(jì)中,可以用兩種方法解決問(wèn)題:一是傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計(jì)方法,二是更先進(jìn)的面向?qū)ο蟪绦蛟O(shè)計(jì)方法。而在面向?qū)ο蟪绦蛟O(shè)計(jì)中關(guān)鍵是如何將問(wèn)題域中的實(shí)體(即日常所見(jiàn)的概念)抽取出來(lái),作為C++程序中的類(lèi),而屬性與行為作為類(lèi)的兩類(lèi)要素通常是必不可少的,甚至還應(yīng)考慮類(lèi)必須滿(mǎn)足的約束。</p><p>  我們?nèi)粘I畹拈_(kāi)支,大額數(shù)字或是多倍小數(shù)的計(jì)算都需要計(jì)算器的幫助,處理數(shù)字的開(kāi)方、正余弦

28、都離不開(kāi)計(jì)算器。雖然現(xiàn)在的計(jì)算器價(jià)格比較低廉,但是功能過(guò)于簡(jiǎn)單的不能滿(mǎn)足個(gè)人需求,功能多的價(jià)格較貴,操作不便不說(shuō),很多功能根本用不到。所以,我們想到可不可以用自己的所學(xué)為自己設(shè)計(jì)開(kāi)發(fā)一個(gè)屬于自己的簡(jiǎn)單計(jì)算器來(lái)完成日常生活的需求。</p><p>  計(jì)算器是日常生活中十分便捷有效的工具,能實(shí)現(xiàn)加、減、乘、除、開(kāi)方、求倒數(shù)等簡(jiǎn)單運(yùn)算的工具。要實(shí)現(xiàn)計(jì)算功能,可以用C++和Qt的知識(shí)編寫(xiě)程序來(lái)解決此問(wèn)題。該計(jì)算器大大的

29、降低了數(shù)字計(jì)算的難度及提高了計(jì)算的準(zhǔn)確度和精確度。該計(jì)算器使用非常簡(jiǎn)單和方便,對(duì)廣大中小學(xué)生的學(xué)習(xí)有巨大幫助作用,也對(duì)在職人員的工作有點(diǎn)幫助作用。本文的程序設(shè)計(jì)設(shè)計(jì)工作環(huán)境為L(zhǎng)inux +QT Creator ,在程序設(shè)計(jì)中,采用了結(jié)構(gòu)化與面向?qū)ο髢煞N解決問(wèn)題的方法。</p><p><b>  2.2 功能分析</b></p><p>  1).普通窗口計(jì)算設(shè)計(jì)&l

30、t;/p><p>  這一模塊要求進(jìn)行加減乘除運(yùn)算。</p><p>  支持二、八、十六、十等不同進(jìn)制數(shù)據(jù)的直接輸入、計(jì)算和數(shù)制間的相互轉(zhuǎn)換,當(dāng)輸入回車(chē)鍵或等號(hào)鍵時(shí)直接給出當(dāng)前算式的運(yùn)算結(jié)果,算式計(jì)算和編輯可同時(shí)交叉進(jìn)行,設(shè)置中間變量,方便運(yùn)算過(guò)程中中間數(shù)據(jù)的存儲(chǔ)或提取插入。</p><p>  2).科學(xué)算式窗口計(jì)算設(shè)計(jì)</p><p>  

31、(1)可以對(duì)算式進(jìn)行編輯、存儲(chǔ)、粘貼、修改、計(jì)算。</p><p> ?。?)算式長(zhǎng)度可達(dá)256個(gè)字符。</p><p> ?。?)算式內(nèi)可同時(shí)出現(xiàn)二、八、十六、十等不同進(jìn)制,并可實(shí)現(xiàn)大中小括號(hào)和各類(lèi)不同函數(shù)及位運(yùn)算。</p><p>  (4)三角函數(shù)可設(shè)置度或弧度。</p><p>  (5)設(shè)計(jì)實(shí)現(xiàn)文件處理窗口,可實(shí)現(xiàn)算式的添加、刪除、

32、存儲(chǔ)和提取。</p><p>  3).幫助功能實(shí)現(xiàn)設(shè)計(jì)</p><p> ?。?)通過(guò)幫助鍵可以查找各鍵的功能。</p><p> ?。?)可以對(duì)幫助里的功能添加刪除。</p><p><b>  4).時(shí)間功能設(shè)計(jì)</b></p><p>  可以顯示當(dāng)前時(shí)間,并且隨著電腦時(shí)間的改變而改變。&

33、lt;/p><p><b>  5).算式編輯</b></p><p>  (1)可以對(duì)輸入的算式保存。</p><p>  (2)可以添加算式。</p><p>  (3)可以刪除算式。</p><p><b>  2.3 安全性分析</b></p><p&

34、gt;  使用Qt自帶的QSqlite數(shù)據(jù)庫(kù),進(jìn)行存儲(chǔ)算式,對(duì)算式進(jìn)行添加、保存、刪除功能,并且在幫助功能上也使用此數(shù)據(jù)庫(kù),把各個(gè)按鍵的功能村如此數(shù)據(jù)庫(kù)中。還可以添加和刪除,非常方便。</p><p>  并且此程序界面使用Qt designer進(jìn)行布局,這樣對(duì)各個(gè)控件進(jìn)行布局,排版結(jié)構(gòu)時(shí)不容易出錯(cuò),快速便捷。提高軟件的安全性。</p><p><b>  2.4 可行性分析&l

35、t;/b></p><p>  計(jì)算器是日常生活中非常便捷有效的工具,它具有普通計(jì)算和科學(xué)計(jì)算,能實(shí)現(xiàn)加減乘除等普通功能,還可以實(shí)現(xiàn)算是運(yùn)算,并且可以進(jìn)行進(jìn)制裝換,不再局限于十進(jìn)制,他大大的提高了我們的效率,節(jié)省了時(shí)間,可促進(jìn)科技的發(fā)展,還可以用來(lái)存儲(chǔ)算式,可以方便下次使用,采用Qt編寫(xiě),Qt designer設(shè)計(jì)的界面美觀,還可以用拖拽功能進(jìn)行設(shè)計(jì)控件的位置、大小、屬性、結(jié)構(gòu)等功能,這樣在編寫(xiě)代碼時(shí)就不用

36、浪費(fèi)時(shí)間對(duì)控件進(jìn)行聲明等代碼了。這降低了程序員的難度,提高了程序員的效率,并且上手快,具有一定的可行性。</p><p>  技術(shù)經(jīng)濟(jì)分析是研究技術(shù)領(lǐng)域的經(jīng)濟(jì)問(wèn)題和經(jīng)濟(jì)規(guī)律的科學(xué),是研究一定技術(shù)條件下如何提高經(jīng)濟(jì)效果的科學(xué),是技術(shù)與經(jīng)濟(jì)的交叉。</p><p>  在技術(shù)上,主要是采用linux,可以進(jìn)行復(fù)雜的數(shù)據(jù)庫(kù)操作,進(jìn)行算是的增、刪、改、查等功能。用Qt編寫(xiě),有些類(lèi)似C++,但大多數(shù)

37、都是Qt封裝好的函數(shù)。</p><p>  在linux中安裝Qt軟件,配置環(huán)境變量,并安裝Qt插件。從而用Qt 進(jìn)行制作界面,做出的效果既美觀又快捷方便。</p><p>  使用Qt具有良好美觀的界面,必要的信息存儲(chǔ)和和較好的健壯性,使用人員能夠快捷簡(jiǎn)單的進(jìn)行操作,可以快捷的獲得計(jì)算結(jié)果,給人們帶來(lái)方便,對(duì)人們的生活有很大的幫助。</p><p>  2.5 系

38、統(tǒng)設(shè)計(jì)工具</p><p>  2.5.1 fedora技術(shù)簡(jiǎn)介</p><p>  Fedora (第七版以前為Fedora Core)是一款基于 Linux 的操作系統(tǒng),也是一組維持計(jì)算機(jī)正常運(yùn)行的軟件集合。Fedora 由Fedora Project社區(qū)開(kāi)發(fā)、紅帽公司贊助,目標(biāo)是創(chuàng)建一套新穎、多功能并且自由和開(kāi)源的操作系統(tǒng)。Fedora 項(xiàng)目以社區(qū)的方式工作,引領(lǐng)創(chuàng)新并傳播自由代碼和

39、內(nèi)容,是世界各地愛(ài)好、使用和構(gòu)建自由軟件的社區(qū)朋友的代名詞。</p><p>  Fedora基于Red Hat Linux,在Red Hat Linux終止發(fā)行后,紅帽公司計(jì)劃以Fedora來(lái)取代Red Hat Linux在個(gè)人領(lǐng)域的應(yīng)用,而另外發(fā)行的Red Hat Enterprise Linux(Red Hat企業(yè)版Linux,RHEL)則取代Red Hat Linux在商業(yè)應(yīng)用的領(lǐng)域。</p>

40、<p>  Fedora的功能對(duì)于用戶(hù)而言,它是一套功能完備、更新快速的免費(fèi)操作系統(tǒng),而對(duì)贊助者Red Hat公司而言,它是許多新技術(shù)的測(cè)試平臺(tái),被認(rèn)為可用的技術(shù)最終會(huì)加入到Red Hat Enterprise Linux中。</p><p>  2.5.2 QSqlite數(shù)據(jù)庫(kù)技術(shù)</p><p>  SQLite,是一款輕型的數(shù)據(jù)庫(kù),是遵守ACID的關(guān)聯(lián)式數(shù)據(jù)庫(kù)管理系統(tǒng),

41、它的設(shè)計(jì)目標(biāo)是嵌入式的(1)Qt designer技術(shù)介紹</p><p>  簡(jiǎn)單的來(lái)說(shuō)QT Designer是一個(gè)GUI的工具。這個(gè)工具可以幫助我們來(lái)加快寫(xiě)QT 程序的速度.利用QT Designer可以用一種所見(jiàn)既所得的方式,來(lái)產(chǎn)生QT程序的GUI介面的程式碼.通過(guò)增加一些功能,就可以完成一個(gè)程序了.利用QT Designer可以非??焖俚膶W(xué)會(huì)QT,而我們這里說(shuō)利用QT Designer來(lái)學(xué)習(xí)QT而不是利用

42、QT Designer來(lái)寫(xiě)QT,這里的區(qū)別就在于QT Designer所產(chǎn)生的程序代碼有些繁瑣,運(yùn)行起來(lái)也比較的慢些,我們這里只是利用QT Designer來(lái)幫助我們學(xué)習(xí),而不是直接去運(yùn)行QT Designer生成的程序,在這里Qt designer與vs2008連接在一起,安裝qt-win-opensource-4.7.3-vs2008.exe,在安裝vs的qt插件qt-vs-addin-1.1.9.exe,在配置環(huán)境變量:QT =

43、your Qt-root-folder;在 PATH中添加: “;%QT%\bin”。然后就可以用Qt designer中的控件進(jìn)行制作程序界面,并且可以直接修改屬性,這樣可以在代碼量上節(jié)省不少時(shí)間。</p><p><b> ?。?)Qt技術(shù)介紹</b></p><p>  QT 是一個(gè)跨平臺(tái)的 C++ GUI 應(yīng)用構(gòu)架,它提供了豐富的窗口部件集,具有面向?qū)ο?、易?/p>

44、擴(kuò)展、真正的組件編程等特點(diǎn),更為引人注目的是目前 Linux 上最為流行的 KDE 桌面環(huán)境就是建立在 QT 庫(kù)的基礎(chǔ)之上。支持 Linux 平臺(tái)。伴隨著 KDE 的快速發(fā)展和普及,QT 很可能成為 Linux 窗口平臺(tái)上進(jìn)行軟件開(kāi)發(fā)時(shí)的 GUI 首選。</p><p>  信號(hào)和槽機(jī)制是 QT 的核心機(jī)制,要精通 QT 編程就必須對(duì)信號(hào)和槽有所了解。信號(hào)和槽是一種高級(jí)接口,應(yīng)用于對(duì)象之間的通信,它是 QT 的核

45、心特性,也是 QT 區(qū)別于其它工具包的重要地方。信號(hào)和槽是 QT 自行定義的一種通信機(jī)制,它獨(dú)立于標(biāo)準(zhǔn)的 C/C++ 語(yǔ)言,因此要正確的處理信號(hào)和槽,必須借助一個(gè)稱(chēng)為 moc(Meta Object Compiler)的 QT 工具,該工具是一個(gè) C++ 預(yù)處理程序,它為高層次的事件處理自動(dòng)生成所需要的附加代碼。</p><p>  在我們所熟知的很多 GUI 工具包中,窗口小部件 (widget) 都有一個(gè)回調(diào)

46、函數(shù)用于響應(yīng)它們能觸發(fā)的每個(gè)動(dòng)作,這個(gè)回調(diào)函數(shù)通常是一個(gè)指向某個(gè)函數(shù)的指針。但是,在 QT 中信號(hào)和槽取代了這些凌亂的函數(shù)指針,使得我們編寫(xiě)這些通信程序更為簡(jiǎn)潔明了。 信號(hào)和槽能攜帶任意數(shù)量和任意類(lèi)型的參數(shù),他們是類(lèi)型完全安全的,不會(huì)像回調(diào)函數(shù)那樣產(chǎn)生 core dumps。在這里我設(shè)計(jì)的主窗口為:QWidget,而在幫助窗口為:QDialog。</p><p><b>  第三章 軟件設(shè)計(jì)</b

47、></p><p><b>  3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  數(shù)據(jù)庫(kù)在一個(gè)管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率,保證數(shù)據(jù)庫(kù)的完整性和一致性。同時(shí),合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)也將有利于程序的實(shí)現(xiàn)。</p><p>  3.1.1 實(shí)

48、體屬性圖</p><p>  E-R圖是實(shí)體之間聯(lián)系的一個(gè)簡(jiǎn)單表述,下面詳細(xì)介紹各實(shí)體的屬性:</p><p>  圖3.1算式實(shí)體屬性圖</p><p>  算式實(shí)體屬性如圖3.1,包括算式id,算式名字。</p><p>  圖3.2按鍵信息實(shí)體屬性圖</p><p>  按鍵信息實(shí)體屬性如圖3.2,包括按鍵編號(hào),

49、按鍵名,按鍵功能。</p><p>  3.1.2 關(guān)系模型設(shè)計(jì)</p><p>  本系統(tǒng)中主要的關(guān)系模型設(shè)計(jì)如下:</p><p>  算式信息(編號(hào),算式名);</p><p>  按鍵信息(編號(hào),按鍵名,按鍵功能);</p><p>  3.1.3 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)</p><p>  每

50、個(gè)數(shù)據(jù)文件均有一張定義表。其數(shù)據(jù)庫(kù)各表的表頭信息更為詳細(xì)的反映數(shù)據(jù)間的關(guān)系。本系統(tǒng)數(shù)據(jù)庫(kù)的內(nèi)容包括算式表、幫主功能表。</p><p>  表的具體設(shè)計(jì)如下所示:</p><p>  (1)算式表用來(lái)存儲(chǔ)算是編號(hào)和算式名,表名:message。本表用來(lái)存儲(chǔ)已用戶(hù)常用的算式,其中可以對(duì)算式進(jìn)行保存、刪除、修改,方便用戶(hù)及使用到常用的式子,提高用戶(hù)效率。算式表如表3.1所示。</p>

51、;<p><b>  表3.1算式表</b></p><p>  (2)按鍵信息表用來(lái)存儲(chǔ)按鍵編號(hào),按鍵名,按鍵功能,表名:helpmessage。本表用來(lái)實(shí)現(xiàn)幫助功能,存儲(chǔ)幫助功能中按鍵的信息,可以查看所有的按鍵功能,也可以看單個(gè)按鍵信息,還可以對(duì)案件信息進(jìn)行增加和刪除。按鍵表如表3.2所示。</p><p><b>  表3.2按鍵表<

52、;/b></p><p>  第四章 簡(jiǎn)單的計(jì)算器</p><p><b>  4.1項(xiàng)目目的</b></p><p> ?。?)熟悉QtCreator的簡(jiǎn)單操作。</p><p> ?。?)了解Qt程序編寫(xiě)框架。</p><p> ?。?)了解信號(hào)和槽機(jī)制,熟練掌握信號(hào)與槽在應(yīng)用程序中的使

53、用。</p><p><b>  4.2項(xiàng)目?jī)?nèi)容</b></p><p>  (1)查看API手冊(cè),學(xué)習(xí)簡(jiǎn)單的Qt類(lèi)的使用,如QLineEdit、QPushButton等。</p><p> ?。?)用QtCreator創(chuàng)建工程,用Qt編寫(xiě)計(jì)算器程序。</p><p> ?。?)對(duì)計(jì)算器程序進(jìn)行移植。</p>

54、<p><b>  4.3項(xiàng)目步驟</b></p><p><b>  創(chuàng)建工程</b></p><p>  1)打開(kāi)QtCreator,如圖F-1所示。</p><p><b>  圖F-1</b></p><p>  2)選擇File->New File

55、 or Project,然后在彈出的對(duì)話(huà)框中選擇Other Project->Empty Qt project(如圖F-2所示),然后進(jìn)入下一步。</p><p><b>  圖2</b></p><p>  3)定義新工程的工程名并選擇保存路徑(如圖F-3所示),然后進(jìn)入下一步。</p><p><b>  圖3</b&

56、gt;</p><p>  4)選擇Qt版本,這里選擇使用Qt4.7.1,取消對(duì)Qt in PATH的選擇(如圖4所示),然后進(jìn)入下一步,完成新工程的創(chuàng)建(如圖F-5所示)。</p><p><b>  圖F-4</b></p><p><b>  圖F-5</b></p><p>  第五章 計(jì)算

57、器程序的實(shí)現(xiàn)</p><p>  主要工作:一是實(shí)現(xiàn)計(jì)算器的圖形界面;二是實(shí)現(xiàn)按鍵事件和該事件對(duì)應(yīng)的功能綁定,即信號(hào)和對(duì)應(yīng)處理槽函數(shù)的綁定。</p><p><b>  圖形界面的實(shí)現(xiàn)</b></p><p>  通過(guò)分析可知,需要16個(gè)按鍵和一個(gè)顯示框,同時(shí)考慮到整體的排布,還需要水平布局器和垂直布局器。通過(guò)組織這些類(lèi)我們可以實(shí)現(xiàn)一個(gè)簡(jiǎn)單的帶

58、有數(shù)字0~9,可以進(jìn)行簡(jiǎn)單四則運(yùn)算且具有清屏功能的計(jì)算器。對(duì)于這些類(lèi)的具體操作會(huì)在后面的代碼中詳細(xì)說(shuō)明。</p><p>  5.1信號(hào)和對(duì)應(yīng)槽函數(shù)的綁定</p><p>  分析計(jì)算器的按鍵我們可以把按鍵事件分為以下三類(lèi),一是簡(jiǎn)單的數(shù)字按鍵,</p><p>  主要進(jìn)行數(shù)字的錄入,這類(lèi)按鍵包括按鍵0~9;二是運(yùn)算操作鍵,用于輸入數(shù)學(xué)運(yùn)算符號(hào),進(jìn)行數(shù)學(xué)運(yùn)算和結(jié)果的

59、顯示,這類(lèi)按鍵包括“+”,“-”,“*”,“/”,“=”;三是清屏操作鍵,用于顯示框顯示信息的清除。</p><p>  5.2進(jìn)入剛才創(chuàng)建的空工程,雙擊左側(cè)的Calculator.pro,在主編輯框中目前顯示Calculator.pro的內(nèi)容為空,如圖F-6所示。這是因?yàn)槟壳笆裁次募紱](méi)有添加的緣故。</p><p><b>  圖6</b></p>

60、<p>  5.3添加文件calculator.h</p><p>  在工程Calculator上面點(diǎn)擊右鍵,然后點(diǎn)擊Add New,選擇添加C++ Header File(如圖F-7所示),進(jìn)入下一步后輸入文件名calculator.h(如圖F-8所示),然后完成文件的添加。</p><p><b>  圖7</b></p><p&g

61、t;<b>  圖F-8</b></p><p>  5.4添加文件calculator.cpp和main.cpp</p><p>  與添加文件calculator.h的過(guò)程類(lèi)似,只是在選擇文件類(lèi)型時(shí)選擇為C++ Source File。完成后可以查看Calculator.pro文件的內(nèi)容,整個(gè)工程的文件結(jié)構(gòu)如圖F-9所示。</p><p>

62、<b>  圖F-9</b></p><p>  第六章 源代碼的分析說(shuō)明</p><p>  6.1對(duì)calculator.h源代碼的簡(jiǎn)要說(shuō)明</p><p>  #ifndef CALCULATOR_H</p><p>  #define CALCULATOR_H //對(duì)calculator.h頭文件的聲明<

63、/p><p>  #include<QWidget>//包含主窗體類(lèi)</p><p>  #include<QPushButton>//包含按鍵類(lèi)</p><p>  #include<QVBoxLayout>//包含垂直布局器類(lèi)</p><p>  #include<QHBoxLayout>//包

64、含水平布局器類(lèi)</p><p>  #include<QLineEdit>//包含顯示框類(lèi)</p><p>  class Calculator : publicQWidget//計(jì)算器繼承自主窗體類(lèi)</p><p><b>  {</b></p><p>  Q_OBJECT //必須加上這句,如果要調(diào)

65、用信號(hào),槽函數(shù)的操作的話(huà)</p><p><b>  public:</b></p><p>  Calculator(); //計(jì)算器類(lèi)的構(gòu)造函數(shù)</p><p>  ~Calculator(); //計(jì)算器類(lèi)的析構(gòu)函數(shù)</p><p>  public slots: //定義各個(gè)按鍵按下后對(duì)應(yīng)操作處理的槽函數(shù)

66、</p><p>  voidzeroButtonPress();</p><p>  voidoneButtonPress();</p><p>  voidtwoButtonPress();</p><p>  voidthreeButtonPress();</p><p>  voidfourButtonPres

67、s();</p><p>  voidfiveButtonPress();</p><p>  voidsixButtonPress();</p><p>  voidsevenButtonPress();</p><p>  voideightButtonPress();</p><p>  voidnineButt

68、onPress();</p><p>  voidaddButtonPress();</p><p>  voidsubButtonPress();</p><p>  voidmulButtonPress();</p><p>  voiddivButtonPress();</p><p>  voidclearBu

69、ttonPress();</p><p>  voidequButtonPress();</p><p><b>  private:</b></p><p>  QLineEdit *operateEdit;//聲明顯示框</p><p>  QPushButton *zeroButton;//聲明數(shù)字按鍵¹

70、</p><p>  QPushButton *oneButton;</p><p>  QPushButton *twoButton;</p><p>  QPushButton *threeButton;</p><p>  QPushButton *fourButton;</p><p>  QPushButto

71、n *fiveButton;</p><p>  QPushButton *sixButton;</p><p>  QPushButton *sevenButton;</p><p>  QPushButton *eightButton;</p><p>  QPushButton *nineButton;</p><p

72、>  QPushButton *clearButton;//聲明運(yùn)算符按鍵</p><p>  QPushButton *addButton;</p><p>  QPushButton *subButton;</p><p>  QPushButton *divButton;</p><p>  QPushButton *mulBut

73、ton;</p><p>  QPushButton *equButton;</p><p>  QHBoxLayout *firstLayout;//聲明水平布局器,該布局器主要對(duì)16個(gè)按鍵進(jìn)行布局</p><p>  QHBoxLayout *secondLayout;</p><p>  QHBoxLayout *thirdLayout

74、;</p><p>  QHBoxLayout *fourthLayout;</p><p>  QVBoxLayout *mainLayout;//聲明垂直布局器,該布局器主要對(duì)主窗體上面的空間進(jìn)行排布</p><p>  QString input1;//計(jì)算器第一個(gè)運(yùn)算操作數(shù)</p><p>  QString input2;//計(jì)算器

75、第二個(gè)運(yùn)算操作數(shù)</p><p>  char operate;//運(yùn)算符</p><p><b>  };</b></p><p>  #endif// CALCULATOR_H</p><p>  對(duì)calculator.cpp源代碼的簡(jiǎn)要說(shuō)明</p><p>  首先是構(gòu)造函數(shù)的實(shí)現(xiàn):<

76、;/p><p>  Calculator::Calculator()</p><p><b>  {</b></p><p>  operateEdit = newQLineEdit(this);//初始化顯示框</p><p>  operateEdit->setReadOnly(true); //設(shè)置顯示框?yàn)橹蛔x&

77、lt;/p><p>  operateEdit->setText(tr("0"));//初始化顯示框顯示數(shù)據(jù)為0</p><p>  zeroButton = newQPushButton;//初始化按鍵</p><p>  zeroButton->setText(tr("0"));//設(shè)置按鍵上顯示的標(biāo)簽,以下對(duì)按鍵

78、相關(guān)的操作類(lèi)似</p><p>  oneButton = newQPushButton;</p><p>  oneButton->setText(tr("1"));</p><p>  twoButton = newQPushButton;</p><p>  twoButton->setText(tr(&

79、quot;2"));</p><p>  threeButton = newQPushButton;</p><p>  threeButton->setText(tr("3"));</p><p>  fourButton = newQPushButton;</p><p>  fourButton-&g

80、t;setText(tr("4"));</p><p>  fiveButton = newQPushButton;</p><p>  fiveButton->setText(tr("5"));</p><p>  sixButton = newQPushButton;</p><p>  si

81、xButton->setText(tr("6"));</p><p>  sevenButton = newQPushButton;</p><p>  sevenButton->setText(tr("7"));</p><p>  eightButton = newQPushButton;</p>

82、<p>  eightButton->setText(tr("8"));</p><p>  nineButton = newQPushButton;</p><p>  nineButton->setText(tr("9"));</p><p>  clearButton = newQPushButt

83、on;</p><p>  clearButton->setText(tr("Clear"));</p><p>  addButton = newQPushButton;</p><p>  addButton->setText(tr("+"));</p><p>  subButton

84、= newQPushButton;</p><p>  subButton->setText(tr("-"));</p><p>  mulButton = newQPushButton;</p><p>  mulButton->setText(tr("*"));</p><p>  di

85、vButton = newQPushButton;</p><p>  divButton->setText(tr("/"));</p><p>  equButton = newQPushButton;</p><p>  equButton->setText(tr("="));</p><p

86、>  firstLayout = newQHBoxLayout;//初始化水平布局器firstLayout</p><p>  firstLayout->addWidget(zeroButton); //把按鍵zeroButton添加到firstLayout</p><p>  firstLayout->addWidget(oneButton); //把按鍵oneButt

87、on添加到firstLayout</p><p>  firstLayout->addWidget(twoButton); //把按鍵twoButton添加到firstLayout</p><p>  firstLayout->addWidget(addButton); //把按鍵threeButton添加到firstLayout,以下對(duì)水平布局器的操作類(lèi)似</p>

88、<p>  secondLayout = newQHBoxLayout;</p><p>  secondLayout->addWidget(threeButton);</p><p>  secondLayout->addWidget(fourButton);</p><p>  secondLayout->addWidget(fi

89、veButton);</p><p>  secondLayout->addWidget(subButton);</p><p>  thirdLayout = newQHBoxLayout;</p><p>  thirdLayout->addWidget(sixButton);</p><p>  thirdLayout-&g

90、t;addWidget(sevenButton);</p><p>  thirdLayout->addWidget(eightButton);</p><p>  thirdLayout->addWidget(mulButton);</p><p>  fourthLayout = newQHBoxLayout;</p><p>

91、;  fourthLayout->addWidget(nineButton);</p><p>  fourthLayout->addWidget(clearButton);</p><p>  fourthLayout->addWidget(equButton);</p><p>  fourthLayout->addWidget(divB

92、utton);</p><p>  mainLayout = newQVBoxLayout(this);//初始化垂直布局器mainLayout</p><p>  mainLayout->addWidget(operateEdit); //把顯示數(shù)據(jù)框operateEdit加到mainLayout</p><p>  mainLayout->addLa

93、yout(firstLayout); //把水平布局器firstLayout添加到mainLayout</p><p>  mainLayout->addLayout(secondLayout); //把水平布局器secondLayout添加到mainLayout</p><p>  mainLayout->addLayout(thirdLayout); //把水平布局器thi

94、rdLayout添加到mainLayout</p><p>  mainLayout->addLayout(fourthLayout); //把水平布局器fourthLayout添加到mainLayout</p><p>  connect(zeroButton,SIGNAL(clicked()),this,SLOT(zeroButtonPress()));</p>&

95、lt;p>  //把按鍵zeroButton的按下事件同zeroButtonPress()綁定到一起,以下操作類(lèi)似</p><p>  connect(oneButton,SIGNAL(clicked()),this,SLOT(oneButtonPress()));</p><p>  connect(twoButton,SIGNAL(clicked()),this,SLOT(two

96、ButtonPress()));</p><p>  connect(threeButton,SIGNAL(clicked()),this,SLOT(threeButtonPress()));</p><p>  connect(fourButton,SIGNAL(clicked()),this,SLOT(fourButtonPress()));</p><p> 

97、 connect(fiveButton,SIGNAL(clicked()),this,SLOT(fiveButtonPress()));</p><p>  connect(sixButton,SIGNAL(clicked()),this,SLOT(sixButtonPress()));</p><p>  connect(sevenButton,SIGNAL(clicked()),thi

98、s,SLOT(sevenButtonPress()));</p><p>  connect(eightButton,SIGNAL(clicked()),this,SLOT(eightButtonPress()));</p><p>  connect(nineButton,SIGNAL(clicked()),this,SLOT(nineButtonPress()));</p>

99、<p>  connect(addButton,SIGNAL(clicked()),this,SLOT(addButtonPress()));</p><p>  connect(subButton,SIGNAL(clicked()),this,SLOT(subButtonPress()));</p><p>  connect(mulButton,SIGNAL(clicke

100、d()),this,SLOT(mulButtonPress()));</p><p>  connect(divButton,SIGNAL(clicked()),this,SLOT(divButtonPress()));</p><p>  connect(equButton,SIGNAL(clicked()),this,SLOT(equButtonPress()));</p>

101、<p>  connect(clearButton,SIGNAL(clicked()),this,SLOT(clearButtonPress()));</p><p>  this->setWindowTitle(tr("Calculator"));//設(shè)置窗體標(biāo)題為Calculator</p><p>  input2= "0"

102、;//初始化運(yùn)算操作數(shù)2為0</p><p>  input1 = "0";//初始化運(yùn)算操作數(shù)1為0</p><p>  operate = '0';//初始化運(yùn)算符為’0’</p><p><b>  }</b></p><p>  然后是析構(gòu)函數(shù)的實(shí)現(xiàn):</p>&

103、lt;p>  Calculator::~Calculator()//析構(gòu)函數(shù)主要完成對(duì)構(gòu)造函數(shù)中所聲明的QLineEdit、QPushButton、QHBoxLayout、QVBoxLayout類(lèi)的對(duì)象的回收工作(可以不定義析構(gòu)函數(shù),程序運(yùn)行結(jié)束時(shí)會(huì)自動(dòng)調(diào)用系統(tǒng)默認(rèn)的析構(gòu)函數(shù))</p><p><b>  {</b></p><p>  if (operateE

104、dit != NULL) //</p><p><b>  {</b></p><p>  operateEdit = NULL;</p><p>  deleteoperateEdit;</p><p><b>  }</b></p><p>  if (zeroButto

105、n != NULL)</p><p><b>  {</b></p><p>  zeroButton = NULL;</p><p>  deletezeroButton;</p><p><b>  }</b></p><p><b>  ......</

106、b></p><p><b>  }</b></p><p>  根據(jù)前面對(duì)按鍵事件的分析,有數(shù)字輸入鍵,運(yùn)算操作符輸入鍵和清屏鍵三種,故對(duì)每種事件的槽響應(yīng)函數(shù)都只說(shuō)明一種,其他依此類(lèi)推。</p><p>  數(shù)字輸入鍵響應(yīng)槽函數(shù),以按鍵“1”為例:</p><p>  void Calculator::oneBu

107、ttonPress()</p><p><b>  {</b></p><p>  if(input2=="0")//如果當(dāng)前顯示框?yàn)?</p><p><b>  {</b></p><p>  input2="1";//變0為1</p>&l

108、t;p><b>  }</b></p><p>  else//如果當(dāng)前顯示框不為0</p><p><b>  {</b></p><p>  input2= operateEdit->text();</p><p>  input2.append(tr("1"))

109、;//在顯示的數(shù)據(jù)后面追加1</p><p><b>  }</b></p><p>  operateEdit->setText(input2);//更新顯示框中的顯示信息</p><p><b>  }</b></p><p>  運(yùn)算操作符輸入鍵響應(yīng)槽函數(shù),以按鍵“+”為例:</p

110、><p>  void Calculator::addButtonPress()</p><p><b>  {</b></p><p>  floatfirst,second;</p><p>  input2= operateEdit->text();//把當(dāng)前顯示的數(shù)據(jù)保存到運(yùn)算操作數(shù)2中</p>

111、<p>  if(operate == '0')//如果是第一次按下運(yùn)算符鍵</p><p><b>  {</b></p><p>  input1 = input2;//把運(yùn)算操作數(shù)2中的數(shù)據(jù)保存到運(yùn)算操作數(shù)1中</p><p>  input2= "0";//清除運(yùn)算操作數(shù)2中的數(shù)據(jù)</

112、p><p>  operate = '+';//把運(yùn)算符鍵置’+’</p><p><b>  }</b></p><p>  Else//如果是第二次按下運(yùn)算符鍵</p><p><b>  {</b></p><p>  second=input2.toFlo

113、at();//把運(yùn)算操作數(shù)2中的數(shù)據(jù)轉(zhuǎn)化為浮點(diǎn)類(lèi)型</p><p>  first=input1.toFloat();//把運(yùn)算操作數(shù)1中的數(shù)據(jù)轉(zhuǎn)化為浮點(diǎn)類(lèi)型</p><p>  switch(operate)//根據(jù)當(dāng)前的運(yùn)算符判斷做何操作</p><p><b>  {</b></p><p>  case'

114、+':first = first+second;break;</p><p>  case'-':first = first-second;break;</p><p>  case'*':first = first*second;break;</p><p>  case'/':first = first/s

115、econd;break;</p><p><b>  }</b></p><p>  input1 = QString::number(first,'f',10);//把運(yùn)算的結(jié)果轉(zhuǎn)化成為可以在顯示框顯示的類(lèi)型</p><p>  input2 = "0";//清除運(yùn)算操作數(shù)2中的數(shù)據(jù)</p>

116、<p>  operate = '+';//把運(yùn)算符鍵置“+”</p><p><b>  }</b></p><p>  operateEdit->setText(input1);//更新顯示框中的顯示內(nèi)容</p><p><b>  }</b></p><p>&

117、lt;b>  清屏操作響應(yīng)函數(shù):</b></p><p>  void Calculator::clearButtonPress()</p><p><b>  {</b></p><p>  input2="0";//把運(yùn)算操作數(shù)2清零</p><p>  input1="

118、;0";//把運(yùn)算操作數(shù)1清零</p><p>  operateEdit->setText(input2); //更新顯示框中的顯示內(nèi)容</p><p><b>  }</b></p><p>  對(duì)main.cpp源代碼的簡(jiǎn)要說(shuō)明</p><p>  #include <QApplication

119、>//包含應(yīng)用程序類(lèi)</p><p>  #include "calculator.h"//包含計(jì)算器類(lèi)</p><p>  int main(intargc, char *argv[])//main函數(shù)的標(biāo)準(zhǔn)寫(xiě)法</p><p><b>  {</b></p><p>  QApplicati

120、on app(argc, argv); //創(chuàng)建一個(gè)QApplication對(duì)象,管理應(yīng)用程序的資源</p><p>  Calculator mainwindow; //產(chǎn)生一個(gè)計(jì)算器對(duì)象</p><p>  mainwindow.showMaximized();//顯示計(jì)算器窗體(默認(rèn)以最大化的形式顯示)</p><p>  return app.exec();

121、//讓程序進(jìn)入消息循環(huán),等待可能的菜單、工具條、鼠標(biāo)等的輸入,進(jìn)行響應(yīng)。</p><p><b>  }</b></p><p><b>  第七章 編譯運(yùn)行</b></p><p>  7.1完成源程序的編輯后,可以直接點(diǎn)擊圖F-10中所示的運(yùn)行按鈕,這時(shí)QtCreator會(huì)自動(dòng)編譯源程序并生成可執(zhí)行程序。</p&

122、gt;<p><b>  圖F-10</b></p><p>  7.2計(jì)算器程序在界面如圖F-11所示。</p><p><b>  圖F-11</b></p><p>  第八章 計(jì)算器程序的移植</p><p>  上面所說(shuō)的可執(zhí)行程序是由QtCreator調(diào)用qmake命令生成

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論