博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
qt4升级到qt5的一些问题
阅读量:6297 次
发布时间:2019-06-22

本文共 833 字,大约阅读时间需要 2 分钟。

由于最近项目使用的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​

 

 

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

转载地址:http://uwmta.baihongyu.com/

你可能感兴趣的文章
Racktables(一)的资产管理软件安装配置
查看>>
crontab命令
查看>>
阿里云磁盘扩容踩坑总结
查看>>
Java中的String字符串
查看>>
EDM营销中HTML邮件设计方法和技巧
查看>>
shell的最大命令行长度
查看>>
刚搭建的linux环境的基本优化以及优化脚本---菜鸟初写
查看>>
北京20-35万Sharepoint Senior Consultant
查看>>
Vue开源项目库汇总
查看>>
apache 站点安全
查看>>
zabbix监控管理维护脚本
查看>>
使用async/await——Nodejs+ExpressJs+Babel
查看>>
贵州省新农合业务系统容灾技术支撑服务项目
查看>>
zabbix邮件报警python脚本
查看>>
zabbix自动发现规则实现批量监控主机的TCP监听端口
查看>>
smarty半小时快速上手教程
查看>>
python fabric实现远程操作和部署
查看>>
表单form类型数据转换为数组array
查看>>
AIX系统日志学习笔记之三
查看>>
搜索进一步细化 谷歌或重回大陆
查看>>