在Qt中经常需要显示中文和适用中文路径,一般情况下中文显示没有问题,而中文路径需要手动设置,有一下几种方法:
第一种:windows下最常用最有效,直接使用国标码
#include <QTextCodec>
.....
QString fileName = QFileDialog::getOpenFileName(this,QString("读取匹配原图"),QString("E:\\"),QString("*.jpg *.bmp *.png"));
if(fileName.isEmpty())
{
QMessageBox::warning(this,QString("warning"),QString("No image was selected!"));
return;
}
QTextCodec *code = QTextCodec::codecForName("gb2312");
std::string name = code->fromUnicode(fileName).data();
第二种:设置字体为本地格式,在main函数中使用(不一定有效)
#include "mainwindow.h"
#include <QApplication>
#include <QTextCodec>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());
MainWindow w;
w.show();
return a.exec();
}
在Qt开发中,处理中文显示通常不成问题,但使用中文路径可能需要额外配置。本文介绍了在Windows环境下通过国标码等方法确保Qt正确显示和处理中文路径。

1098

被折叠的 条评论
为什么被折叠?



