Qt5中文乱码

2018-08-09  本文已影响5人  downdemo
QMenu* menu = menuBar->addMenu(tr("测试")); // 乱码

// 方案1:要求支持C++11
QMenu* menu = menuBar->addMenu(tr(u8"测试"));

// 方案2:不要求支持C++11
#include "qstring.h"
QMenu* menu = menuBar->addMenu(QString::fromLocal8Bit("测试"));
std::string s = "测试";
qDebug() << QString(QString::fromLocal8Bit(s.c_str()));
QString qstr = tr(u8"测试");
// QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
QByteArray cdata = qstr.toLocal8Bit();
std::string str = std::string(cdata);
// 或者直接
std::string str = qstr.toLocal8Bit();
std::string str = qstr.toStdString();
QString qstr = QString::fromStdString(str);
上一篇下一篇

猜你喜欢

热点阅读