QT亂碼怎麼解決?

在使用QT creator進行程式設計的時候,可能會遇到亂碼的問題。小編這幾天在進行一個程式測試的時候,發現在setplaceholdertext方法裡面如果直接用中文,則跑出來的介面會有亂碼。經過一番折騰,也找到了相關的解決方法。今天,小編就跟大家分享一下QT亂碼怎麼解決

工具/原料

qt creator

方法/步驟

在一個linedit控制元件裡面,我用了setplaceholdertext的方法,來顯示文字,如下圖

QT亂碼怎麼解決

但是一跑起來,發現顯示的文字並不是期待的“百度測試”,而是如下亂碼

QT亂碼怎麼解決

此時我們需要在對應的cpp檔案中,包含一個頭檔案“qtextcodec.h”,

即在前面加上一行程式碼include "qtextcodec.h”

QT亂碼怎麼解決

之後統一編碼格式為UTF-8,在setplaceholdertext方法呼叫之前加入以下程式碼

QTextCodec *codec=QTextCodec::codecForName("UTF-8"); QTextCodec::setCodecForTr(codec); QTextCodec::setCodecForLocale(QTextCodec::codecForLocale()); QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());

QT亂碼怎麼解決

然後再除錯程式

QT亂碼怎麼解決

你會發現,已經正常顯示中文了

QT亂碼怎麼解決

注意事項

轉化文字的編碼格式是關鍵

時候, 問題, 中文, 亂碼,
相關問題答案