在QT中怎样获取中文的文件名?
如题,在QT中怎样获取中文的文件名?用QFileDialog::getOpenFilename返回的是QString识别不了中文的文件名啊~~~~...
如题,在QT中怎样获取中文的文件名?
用 QFileDialog::getOpenFilename 返回的是QString
识别不了中文的文件名啊~~~~ 展开
用 QFileDialog::getOpenFilename 返回的是QString
识别不了中文的文件名啊~~~~ 展开
3个回答
展开全部
在你的main函数的第一行前插入以下内容后再试试看:
int main(int argc, char *argv[])
{
QTextCodec *utf8 = QTextCodec::codecForName("utf8");
QTextCodec::setCodecForCStrings(utf8);
QTextCodec::setCodecForLocale(utf8);
QTextCodec::setCodecForTr(utf8);
......
}
int main(int argc, char *argv[])
{
QTextCodec *utf8 = QTextCodec::codecForName("utf8");
QTextCodec::setCodecForCStrings(utf8);
QTextCodec::setCodecForLocale(utf8);
QTextCodec::setCodecForTr(utf8);
......
}
展开全部
加一句:QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
如果QFileDialog::getOpenFilename返回值是filename,则输出时用tr(filename)即可。
如果QFileDialog::getOpenFilename返回值是filename,则输出时用tr(filename)即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我在windows下,用的是QTextCodec::setCodecForTr(QTextCodec::codecForName("system"));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询