1. 程式人生 > >Qt計算器開發(三):執行效果及專案總結

Qt計算器開發(三):執行效果及專案總結

執行效果


project資料夾

Counter
|--- Counter.pro
|--- 標頭檔案
|      |--- aboutdialog.h
|      `--- mainwindow.h
|--- 原始檔
|      |--- aboutdialog.cpp
|      |--- main.cpp
|      `--- mainwindow.cpp
`--- UI檔案
       |--- aboutdialog.ui
       `--- mainwindow.ui

總結

專案

這個project的Ui部分我是直接使用Qt designer拖出來的。不不過由於方便啦,更重要的是這個一個非常好的MVC思想的運用。就像Android裡面用xml和java分別寫介面和邏輯一樣。當我們改變介面的時候。背後的實現邏輯無需改動,而當我們改動實現邏輯的時候,介面又不會受到干擾。上面的project資料夾裡面的aboutdialog.h和aboutdialog.cpp一句aboutdialog.ui就是一個“關於”的對話方塊,效果也在上面截圖給出啦。沒什麼複雜的地方。能夠使用Qt的富文字來實現裡面的文字圖片展示。

吐槽

這是一個入門級的Qt計算器的開發過程。在這個專案開始之前。我對Qt語法瞭解不多,開始去做這個瀏覽器全然是為了實戰資料結構中的字尾表示式演算法。

從電工實習那周開始吧,反正那時閒著也是閒著。就開始做了這個計算器。大概兩週多一點的時間。眼下已知的bug所有修復了。

。未知的bug等待時間檢驗吧。。

在Windows和Ubuntu上都有敲過這個project的程式碼,畢竟GitHub是個強大的東西,在兩個系統裡面做同一個project也不難,只需git push。git pull 就能夠了。

計算器本身呢,還有非常多可擴充套件的地方。比方日期加減,進位制轉換,貨幣轉換等等。不過,總之呢。應該告一段落了。

通過這個實踐能夠非常清楚地得出一個結論:介面絕不是最重要的,介面非常easy做出來,有問題百度一下,分分鐘也能解決。重要的是什麼?演算法。這是對棧和字尾表示式的一個實戰。難點就在這個演算法上。眼下小數點後面位數或者說精度有限。假設要實現小數點後面很多其它位數的計算結果,那麼又會涉及到高精度的演算法。沒錯,還是演算法。畢竟C++沒有Java那種“大數類”。

這個是使用的C++的Qt框架編的。畢竟Qt跨平臺,Linux。Windows都能用。

還有一個著名的C++的GUI框架MFC。我並不喜歡。

MFC是微軟做的,也是我們下學期Windows程式設計這門選修課要教的東西。因此我沒有選Windows這門選修課。我並非為了混學分而選課的人。。

時間寶貴,怎能浪費。。

個人感覺:MFC太複雜,儘管是C++,但面向過程的東西太多,太多結構體,還有太多微軟自己定義的巨集。

並且類名,巨集名的都是非常長的名字。並且不是可讀性強的名稱,記起來和敲起來都甚為不便。還有MFC的設計哲學,並不會是開發人員對面向物件的概念有多大提高。

而是讓開發人員糾結在非常多細枝末節上。。畢竟MFC在90年代初期就出現了,那時候C++標準還未成熟,面向物件軟體project的理論也不成熟。並且那時候設計模式的理論貌似還未提出或者剛剛提出。所以導致了MFC的先天畸形。所以進入兩千年後,微軟對MFC的更新放慢了。後來乾脆就主推C#的winform、WPF了。


================= 本 項 目 文 章 及 源 碼 鏈 接===============
|== Qt計算器開發(一):字尾表示式實現完整數學表示式的計算  ==|
|== Qt計算器開發(二):訊號槽實現數學表示式合法性檢查         ==|
|== Qt計算器開發(三):執行效果及專案總結                         ==|
|== Qt計算器原始碼下載(免積分)                                                   ==|
|== Qt計算器GitHub託管地址(程式碼會不定期更新,敬請關注)        ==|
=======================================================