開始看蔡志明等編寫的《精通qt4程式設計》一書,第乙個例子就出現了問題,例子執行結果如下:
其源**為:
#include #include #include #include #include #include int main(int argc, char* ar**)
qtextcodec::setcodecfortr(qtextcodec::codecforname("gb18030"));
qwidget* pwidget = new qwidget;
qlabel label(pwidget);
label.settext(qobject::tr("同乙個世界,同乙個夢想!"));
qpushbutton* btn = new qpushbutton(qobject::tr("關閉"), pwidget);
qvboxlayout* layout = new qvboxlayout;
layout->addwidget(&label);
layout->addwidget(btn);
pwidget->setlayout(layout);
qobject::connect(btn, signal(clicked()), pwidget, slot(close()));
pwidget->show();
經過不停的查資料,終於找到解決的方法了:
方法一:
將這行**:
label.settext(qobject::tr("同乙個世界,同乙個夢想!"));
修改為:
label.settext(qstring::fromutf8("同乙個世界,同乙個夢想!"));
結果顯示就對了!
方法二:
將這行**:
qtextcodec::setcodecfortr(qtextcodec::codecforname("gb18030"));
修改為:
qtextcodec::setcodecfortr(qtextcodec::codecforname("utf8"));
結果就對了!
這兩種方法,都是使用了utf8字符集!
Qt4 Qt5等Qt版本解決中文亂碼問題
在網上找了很長時間,大部分都是其他人瞎折騰 的,很多都不行,實用性很低,現在寫的這個總結也是在網上找了很久總結出來的,經本人在qt4.5和qt5.3上面測試確實可行 我們都是中國人,很多標題用的都是中文,所以直接在main函式中定義如下 qtextcodec setcodecforcstrings ...
Qt使用Log4Qt寫日誌
log4qt 是apache log4j 的qt移植版 官網 首先初始化log4qt,設定配置檔案和訊息繫結 log4qt propertyconfigurator configure qtlog4qt.conf log4qt logmanager sethandleqtmessages true ...
qt 中文亂碼 Qt中文亂碼問題
接觸了qt,由於習慣中vs,如果使用vs寫qt 剛接觸很快就發現有中文亂碼問題,我的解決方法如下 新建乙個標頭檔案,比如qtchcharset.h,標頭檔案中內容如下 pragma once ifdef q os win q os win 新增後支援gb2312,utf 8 bom,unicode ...