Qt 5.9.4 转 Qt 6.6.1 遇到的问题总结(一)

最近公司对大家的开发的硬件环境进行了升级,电脑主机的配置、显示器(两台大屏显示器)变得的逼格高多了。既然电脑上的开发环境都需要重装,就打算把开发环境也升级到最新版本,要用就用最新版本。下面对升级后的开发环境之一(VS2022+Qt 6.6.1 )遇到的问题总结一下。

1,QRegExp 已取消,用QRegularExpression 替代,下面的图片注释的是QRegExp相相关函数

2,QDateTime 取消了toTime_t函数

QDateTime::currentDateTime().toTime_t() 我用QDateTime::currentDateTime().toSecsSinceEpoch()替代。

3, qrand() 已取消,可以用功能更强大的QRandomGenerator替代。

至于QRandomGenerator的用法,大家可以查查Qt 助手。或百度也行。这里忘记截图了。

4,QMutex::Recursive 已取消,Recursive编译提示无定义。new Mutex参数可以填空。

5,QString 中的sprintf函数已不存在。

遇到时,可以用QString 自带的arg 来替代

6 , QWeakPointer 智能指针的data 函数已不存在。

我是用toStrongRef 函数替代

7,QPair 类中 qMakePair 用法。

开始博主是用注释用方法对mData 操作,mData 类型为QList<QPair<QByteArray,BroadcastFilter*>>,编译不过。感觉Qt 6.6.1 对编译的严格度提高了,遇到了好几个这样的问题。

8,如果你升级后,报如下错误

可以在文件 开头引入#pragma comment(lib,"ws2_32.lib"),就可以解决此问题。

9, QLayout 布局类的 setMargins 函数已不存在,可以用setContensMargins() 替代。

10,QPainter去除了QPainter::HighQualityAntialiasing, 博主用QPainter::SmoothPixmapTransform 替代。

所有老的工程,升级还会遇到好多问题。后面再陆续更新!大家如果也有其他发现,可以留言告诉博主谢谢。

相关推荐
誰能久伴不乏1 分钟前
从数字世界到物理引擎:用 PWM 撕开 0 和 1 的结界
linux·arm开发·c++·qt
sycmancia14 分钟前
QT——第一个GUI应用程序
qt
sycmancia14 分钟前
Qt——窗口部件及窗口类型、坐标系统
开发语言·qt
南境十里·墨染春水15 分钟前
C++ 笔记 运算符重载(面象对象)
开发语言·c++·笔记
小陈工17 分钟前
Python Web开发入门(一):虚拟环境与依赖管理,从零搭建纯净开发环境
开发语言·前端·数据库·git·python·docker·开源
运维行者_19 分钟前
金融和电商行业如何使用网络监控保障业务稳定?
开发语言·网络·人工智能·安全·web安全·机器学习·运维开发
csbysj202022 分钟前
Eclipse 视图(View)详解
开发语言
zhangzeyuaaa31 分钟前
# Python 抽象类(Abstract Class)
开发语言·python
墨^O^32 分钟前
并发控制策略与分布式数据重排:锁机制、Redis 分片与 Spark Shuffle 简析
java·开发语言·c++·学习·spark
火山上的企鹅33 分钟前
QGC 二次开发实战:Android 单机离线授权怎么落地
android·qt·qgroundconrol·离线授权