由于最近项目使用的qt版本从qt4.8升级到qt5.5,虽然从4到5的变化不大,不过还是有许多的问题需要记录一下,希望可以帮助到更多的人​

1、由于Qt5将大部分桌面部件移到了Qt Widgets模块中​,因此在保护QtGui的地方需要包含QtWidgets模块

2、乱码问题。

方式针对vs,由于window历史原因,vs上使用utf8编码时,std::string(标准串)会乱码,因此vs上暂时使用gbk编码。Qt5去 除了QTextCodec::setCodecForCStrings()函数,所以在涉及到在cpp中直接写汉字常量的情况,直接使用宏 QStringLiteral包裹,例如QStringLiteral("我是汉字");如果汉字存储于变量中则使用fromLocal8bit静态方法。

针对linux,直接使用gbk编码,QString有成员方法toStdString,把QString类型的串转换为std::string,QString::fromStdString方法把标准串转化为QString类型

3、加入json模块

标准jion串都是以键值对的形式描述的​,键是字符串,值可以时json对象、json数组或者json值

QJsonValue:json串的值

QJsonObject:json对象

QJsonArray:json数组​

4、​使用到QWebView等webkit相关可视部件的,Qt5单独放到了QtWebKitWidgets模块中,所以得加头文件#include

5、加入多个connect重载方法,新的connect链接时,会使用类型检测,在编译器如果不匹配会报错​

6、QtMutimedia替换了Phonon​

C++接口变化

移植C++应用 qt 5

顺道说一句:qt可以使用QAxWidget或者QWebView​来嵌入web页面,但是qt的ui刷新时在主线程中刷新的,因此,当web窗口刷新时,整个app都会假死,建议使用cef来嵌入浏览器,功能强大,不过动态库很大

最新文章

  1. 【Machine Learning】决策树案例:基于python的商品购买能力预测系统
  2. centos7配置静态ip后仍然显示动态ip
  3. [转]关于Python中的yield
  4. 第一款支持容器和云部署的开源数据库Neo4j 3.0
  5. Python多进程编程
  6. duilib -- Label控件的bug(转载)
  7. 临时改GCC编译器,重启后失效
  8. WEB网站性能优化
  9. txt文件保存问题
  10. 用扩展方法实现DevExpress-GridControl级联效果
  11. Java读取ini配置
  12. 如何使用DirectDraw直接显示RGB、YUV视频数据(播放yuv)
  13. MTD的认识
  14. hdu 1045
  15. 第三章:Activity的生命周期
  16. 简单实用的jQuery分页插件
  17. 反向-代理 nginx for Mac 的配置以及使用
  18. python程序练习题集
  19. sql server timeout
  20. [Java][Web]Response学习

热门文章

  1. UOJ#346. 【清华集训2017】某位歌姬的故事 动态规划
  2. netty编程一:快速入门
  3. 记录一些基本的git命令
  4. caffe编译错误记录
  5. Goland2019.1破解
  6. <算法图解>读书笔记:第2章 选择排序
  7. 3dmax 笔记本电脑
  8. CF719E. Sasha and Array [线段树维护矩阵]
  9. BZOJ.4184.shallot(线段树分治 线性基)
  10. [CF893F] Subtree Minimum Query