当前是VS2010+Qt5.2.1 原先是VS2010 + Qt4.8.3
0,QString与String的问题。
因为里面有个wchar的东东,所以要写点东西
这是QString 与 string的转换
QString s2q(const string &s)
{
return QString(QString::fromLocal8Bit(s.c_str()));
}
string q2s(const QString &s)
{
return string((const char *)s.toLocal8Bit());
}
还有就是
QString、std::wstring 与内置的 wchar_t
链接 这里,还有个 全的。
1,将程序代码头文件中的QtGui改成QtWidgets
2,
项目属性-->配置属性-->c/c++预处理==>预处理命令 加上QT_WIDGETS_LIB
注:我这里用了个第三方的库,这里有个宏 WIN64 ,结果报错了,这个库不支持64位,报错了 (里面实现方式:#error "UnSupported 64")
3,
项目属性-->配置属性-->链接器-->输入==>附加依赖项 将里面的库改名字
eg: QtGored4.lib 改为 Qt5Cored.lib
4,还是字符串的问题。乱码 永恒的话题,总有一种环境下会出现乱码。
我对这个问题实在是受够了,建议跟底层交互,用utf-8不要用那些奇奇怪怪的东西了,化繁为简,别人也好接手是不。
5,终极大招
都改完之后,运行时出现了一个问题
QPixmap : Must construct a QGuiApplication before a QPixmap
查了很多,也试了很多,木有解决办法,这个只好新建一个工程,把文件重新添加了一遍,奇迹般的没有了这个问题。我只能无语了~~~