您好,登錄后才能下訂單哦!
前面我們講解了開發計算器的信號處理機制,接下來我們來講講關于字符串顯示的問題。
我們都知道 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);
再次構建運行后,界面正常從右開始顯示,如下:
本節的關于計算器的字符串處理的學習就到此為止啦,大家可以下去自己再根據幫助去查詢相關的操作。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。