1.下载QT5.3.0源码安装完了,用VS2012建立的QT应用程序编译是通不过的!
将D:\win7\threadroc\software\ide\cpp\qt_lib_vs2012\5.3\msvc2012_opengl\include\QtCore\qdatetime.h文件的122行改成:
static inline qint64 nullJd(){return Q_INT64_C(-784350574879);}//被我更改后的. 编译通过了,不知道会不会有什么后患.以后查下...
2.QT不支持中文问题.
QT是UTF8编码,VS2012是其他编码,有冲突,所以需要QString::fromLocal8Bit("中文");这样转换一下编码.
例子1:将中文字面值转换为QString,使之能正常显示中文;
QMessageBox mb; mb.setText(QString::fromLocal8Bit("中文")); mb.exec(); return;
例子2:将从本地读取的QString转string解决乱码问题;
string path=qpath.toLocal8Bit().data();//将QString转string不乱码;
例子3:string的字面值转QString解决乱码问题;
string msg="中文"; QString qstr=QString::fromLocal8Bit(msg.c_str());