方法1:
添加GBK编码支持:
#include <QTextCodec>
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
QString str;
char *ch;
QByteArray ba = str.toLocal8Bit();
ch = ba.data();
代码中调用 toLocal8Bit() 方法以支持中文;
方法2:
先将QString转为标准库中的string类型,然后将string转为char*,如下:
QString filename;
string str = filename.toStdString();
const char* ch = str.c_str();