在qt5中,编写LineEdit等使用setText()的时候,会出现乱码情况,是由于编码问题引起的。
在qt5中的解决方法很简单,就是通过增加
QString::fromLocal8Bit("中文输入")
如:
aLineEdit->setText(QString::fromLocal8Bit("你好"));
在qt4中需要增加如下内容
#include <QTextCodec>
main()
{
...
QTextCodec::setCodecForLocale(QTextCodec::codecForName("gb2312"));
QTextCodec::setCodecForCString(QTextCodec::codecForName("gb2312"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("gb2312"));
...
}