Qt中const char*的中文问题
菜单中需要显示中文,需要的参数必须是const char* ,而不是QString,所以需要将QString 转为const char*
尝试了多种方法,一直都是乱码,以下类似的组合我都尝试了,还是不行。请高手指点,最好能直接告诉我如何直接解决这个问题的方法和代码,不胜感激!
//QTextCodec::setCodecForTr(QTextCodec::codecForName("System"));//设置中文字体编码
//QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));//设置中文字体编码
QTextCodec::setCodecForTr(QTextCodec::codecForName("GB18030"));//设置中文字体编码
//QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));//设置中文字体编码
//QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));//设置中文字体编码
//QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));//设置中文字体编码
QString str = "中文";
const char* ch= str.toAscii().constData();
//const char* ch= str.toStdString().c_str()
//const char* ch= str.toLatin1().data()
//const char* ch= QObject::tr("中文").toLocal8Bit().data();
surveymnu_ = new uiPopupMenu( &appl_,ch);