Qt4转到Qt5的问题

当前是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

Qt4转到Qt5的问题_第1张图片

查了很多,也试了很多,木有解决办法,这个只好新建一个工程,把文件重新添加了一遍,奇迹般的没有了这个问题。我只能无语了~~~

你可能感兴趣的:(Qt)