1. 程式人生 > >QT之字符串類

QT之字符串類

QT 字符串

前面我們講解了開發計算器的信號處理機制,接下來我們來講講關於字符串顯示的問題。

我們都知道 C 語言不支持真正意義上的字符串;C 語言是用字符數組和一組函數來實現字符串操作的;C 語言不支持自定義類型,因此我們無法獲得字符串類型。
從 C 到 C++ 的進化過程引入了自定義類型,在 C++ 中可以通過類完成字符串類型的定義。C++ 中的STL標準庫又是怎麽一回事呢?STL是意義上需要與 C++ 一同發布的標準庫,它是一套以模板技術完成的 C++ 類庫,包含了常用的算法和數據結構,同樣也包含了字符串類。
那麽有一個我們容易忽略的事實,那就是STL的具體實現依賴於編譯器生產廠商。STL 的 “標準” 只是其接口是標準的,即相同的全局函數、算法類和數據結構、類成員函數。不同廠商的編譯器所帶的 STL 存在差異。如果是依賴於 STL 開發的 C++ 程序在不同平臺上的行為可能出現差異!!!

Qt中的字符串類:采用 Unicode 編碼,使用隱式共享技術來節省內存和不必要的數據拷貝,能夠跨平臺使用,不必考慮字符串的平臺兼容性。
QString 直接支持字符串和數字的相互轉換;直接支持字符串的大小比較;直接支持不同字符編碼間的相互轉換;直接支持 std::string 和 std::wstring 的相互轉換;直接支持正則表達式的應用。
接下來我們來創建一個示例代碼,說明 QString 的基本操作,構建運行後,輸出結果如下:
技術分享圖片

有關別的用法我們就不在贅述,大家可以在幫助裏查詢。
接下來我們就編寫關於在計算器文本框中的顯示代碼,如下:

技術分享圖片

在此我們只對 "<-","C",還有正常操作的顯示,對於 “=” 操作符暫時不作處理,在後面我們會繼續對它進行處理,至此計算器已經具有正常操作的功能。但是我們發現一個小問題,就是它是從左邊開始輸入的,不符合我們正常的操作。於是乎我們就在代碼中 construct 函數裏加入這句:

m_edit->setAlignment(Qt::AlignRight);
再次構建運行後,界面正常從右開始顯示,如下:
技術分享圖片
本節的關於計算器的字符串處理的學習就到此為止啦,大家可以下去自己再根據幫助去查詢相關的操作。

以上內容來自狄泰軟件學院的QT教程,歡迎大家一起來學習,可以加我QQ:243343083,一起學習。狄泰技術交流群:199546072

QT之字符串類