在qt中使用字串qstring時經常會碰到莫名其妙的報錯,比如:
this
->
setwindowtitle
("簡易串列埠助手");
//error: c2001: 常量中有換行符
對於這種情況,通常只要在字串的末尾加乙個空格,使中文和引號隔開即可:
this
->
setwindowtitle
("簡易串列埠助手 "
);
但有時,即便是這樣可以編譯通過但還是會顯示亂碼:
此時只需要在工程的pro檔案中加入下列**即可解決中文字串亂碼問題,但這只針對msvc編譯器可行,其他編譯器沒有測試過:
##pro檔案中,解決中文亂碼
msvc
this
->
setwindowtitle
(qstring
("簡易串列埠助手 "))
;//或者
this
->
setwindowtitle((
"簡易串列埠助手 "))
;
結果如下,成功解決了中文顯示的亂碼:
QT解決顯示中文亂碼問題
以settext為例,新增qstringliteral 即可解決亂碼問題 settext qstringliteral 你好 你要明白qobject tr是幹嘛的。它是用於程式國際化使用的,也就可以介面文字翻譯成不同的語zd言。你如果使用qobject tr,你應該全部用英文表示,然後後面借助lin...
解決QT中文字串在osg中顯示亂碼的問題
網上有很多例子,但是幾乎都沒有正常顯示中文,經過痛苦的試驗和折磨,終於解決了qt字串在osg中的正常顯示問題,下面貼出主要 分享給大家。qtextcodec setcodecfortr qtextcodec codecforname gbk qtextcodec code qtextcodec co...
Qt技巧 中文顯示亂碼問題解決
本人使用的qt版本為5.8.0,以下說明適用於qt 5.4及以上版本。1 使用國際化,tr 中文 也是無法顯示,就算新增下面的 也還是無法顯示。不管name是gbk gb2132 utf 8,均已證實無效。qtextcodec setcodecforlocale qtextcodec codecfo...