Ubuntu下QT显示中文乱码问题
贴代码 先
#include <QtGui/QApplication>
#include <QtGui/QWidget>
#include <QtGui/QLabel>
#include <QtCore/QTextCodec>
#include <QtGui/QPushButton>
#include <QtGui/QVBoxLayout>
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
QWidget* pWidget = new QWidget;
QLabel label(pWidget);
QTextCodec::setCodecForTr(QTextCodec::codecForName("GB18030"));
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();
return app.exec();
}
上面运行乱码
解决办法:
第一 将文件保存成utf8编码格式 如果是用creator ,则选择edit菜单的最后一个子菜单
第二 GB18030 用utf8 替换