在使用QT creator進行程式設計的時候,可能會遇到亂碼的問題。小編這幾天在進行一個程式測試的時候,發現在setplaceholdertext方法裡面如果直接用中文,則跑出來的介面會有亂碼。經過一番折騰,也找到了相關的解決方法。今天,小編就跟大家分享一下QT亂碼怎麼解決
工具/原料
qt creator
方法/步驟
在一個linedit控制元件裡面,我用了setplaceholdertext的方法,來顯示文字,如下圖
但是一跑起來,發現顯示的文字並不是期待的“百度測試”,而是如下亂碼
此時我們需要在對應的cpp檔案中,包含一個頭檔案“qtextcodec.h”,
即在前面加上一行程式碼include "qtextcodec.h”
之後統一編碼格式為UTF-8,在setplaceholdertext方法呼叫之前加入以下程式碼
QTextCodec *codec=QTextCodec::codecForName("UTF-8"); QTextCodec::setCodecForTr(codec); QTextCodec::setCodecForLocale(QTextCodec::codecForLocale()); QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
然後再除錯程式
你會發現,已經正常顯示中文了
注意事項
轉化文字的編碼格式是關鍵