QT的一些奇葩事

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());



3.没想好...

你可能感兴趣的:(QT的一些奇葩事)