QT4和QT5区别

Qt4.8.7是Qt4的终结版本,是Qt4系列版本中最稳定最经典的。

1、 在pro文件中添加QT += widgets模块,如果添加这个模块后,带有"QtGui/"的类一部分类型就不需要这个前缀了,可以直接用用本身的类名。

2、 将带有QTGui的类替换为QTWidget。

3、 将如#include <QtGui/QMainWindow>带有"QtGui/"的类替换为#include ,或者替换成#include <QtWidget/QMainWindow>,视具体情况而定。

4、 将#include <QtWebKit/QtWebKit>屏蔽,因为QT5上QtWebKit已被取消。

5、QPrinter类被修改,不能直接使用,他已经被加到printsupport模块中,故需要在main的pro文件中添加QT += printsupport。并且改为<QtPrintSupport/QPrinter>或者

6、 将Q_WS_WIN 改为Q_OS_WIN。

7、 将isnan改为std::isnan。

8、 toAscii类型以取消,用其他转动态数组的类型代替。

9、 setYMD在QT5上已经被改成setDate。

10、 #include "QWSServer"在QT5已经被取消,QWSServer::setCursorVisible(true);重新其它方式来实现。

11、 QPixmap类初始化方式变化,不能用NULL来初始化。

12、 QGraphicsScene的函数itemAt()参数变化。增加了一个QTransform的参数

如: QTransform transform;

transform.rotate(+0.0);

QGraphicsItem *item = this->itemAt(event->scenePos(),transform);

13、 QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"))被取消,

14、 QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB2312"));被取消

15、 fromAscii被取消,改为fromLatin1。

16、 QHeadView中设置setmovable()需要添加宏限制

#if QT_DEPRECATED_SINCE(5, 0)

QHeadView中setResizeMode函数被修改为setSectionResizeMode。

17、 QAxObject改为#include <ActiveQt/QAxObject>。

18、 qFabs被修改为fabs。

19、 qInstallMsgHandler函数被改为 qInstallMessageHandler。且msgLog(QtMsgType type, const char* msg)的参数也被改变。具体改为msgLog(QtMsgType type, const QMessageLogContext &, const QString & msg)

20、qpf2字体在Qt5上不在被默认支持,在它的安装目录下不在有makeqpf的项目了。

21、Qt5不在支持安装目录下examples/qws/mouse

calibration下的calibration.h和calibration.cpp的触摸屏校准模块了,由于QWS开头的头文件全部取消。

相关推荐
笨拙的老猴子11 分钟前
[特殊字符] Java GC机制详解:G1、ZGC、Shenandoah全面解析与版本演进对比
java·开发语言
水木流年追梦13 分钟前
大模型入门-Reward 奖励模型训练
开发语言·python·算法·leetcode·正则表达式
电子云与长程纠缠35 分钟前
UE5制作六边形包裹球体效果
开发语言·python·ue5
砍材农夫41 分钟前
物联网 基于netty构建mqtt协议规范(遗嘱与保留消息)
java·开发语言·物联网·netty
froginwe111 小时前
Python3 迭代器与生成器
开发语言
xiaoshuaishuai81 小时前
C# 签名异常与Gas预估失败调试方案
开发语言·网络·tcp/ip·c#
xiaoshuaishuai81 小时前
C# Gemini 辅助网络安全漏洞分析
开发语言·web安全·c#
念恒123061 小时前
Python(循环中断)
开发语言·python
社交怪人1 小时前
【数字对调】信息学奥赛一本通C语言解法(题号2070)
c语言·开发语言
hef2881 小时前
C语言中char指针与数组的区别及应用
c语言·开发语言