Qt4到Qt5的一些变化以及容易出现的问题分享

 时间:2024-10-14 10:23:42

1、一个显著的变化是qt5新增QtWidgets模块,将widget从QtGui 分离出来来,头文件包含“QtWidgets”。如果没注意这个问题,那么用qt5编译老版本的qt程序就会出现错误。

Qt4到Qt5的一些变化以及容易出现的问题分享

2、例如编译时错误error砜实蛰斓:QMainWindow:No such file or directory;error:QT泠贾高框oolButton:No such file or directory。这个问题需要从三个方面解决:在*.pro文件里添加:QT+=widgets;然后再源文件中改为#include<QtWidgets>,而不是#include<QtGui/QDialog> 。这是一个最容易遇到的问题。

Qt4到Qt5的一些变化以及容易出现的问题分享

3、如果编译时出现错误error:inva盟敢势袂lid use of incomplete type'class QWebFrame;error:forward declaration of'class QWebFrame'。这是因为在qt5里QtWebKitWidgets也成为独立的模块。解决办法:在*.pro文件里添加:QT+=webkitwidgets这时候就不再需要QT += widgets了,也要包含头文件

Qt4到Qt5的一些变化以及容易出现的问题分享

4、还有一些变化是qt5丢弃了qt4的一些函数,或者是替换了。例如,toAscii()和fromAscii()这两个函数就不能用了,会出现未定义的错误,而是用fromLatin1()和toLatin1()来代替他们。

Qt4到Qt5的一些变化以及容易出现的问题分享

5、还有一个可能出现的错误,error:'qFindChildren'was not declared inthisscope。这是因为qFindChildren函数也被弃用,而用findChildren函数替换。

Qt4到Qt5的一些变化以及容易出现的问题分享

6、error:'qVariantValue'was not declared inthisscope,这个错误也是经常遇到,最初被则会个问题折磨了好久,qVariantValue函数在qt5里边也被弃用了,若要实现相同的功能,可以用QVariant::value(value)代替。

Qt4到Qt5的一些变化以及容易出现的问题分享

7、还有一个编码的问题,qt5发布之时,默认是utf8编码,这些函数请去掉:QTextCodec::setCodecForTr烫喇霰嘴(...)/QTextCodec::setCodecForCStrings(...)/QTextCodec::setCodecForLocale(...),大家可以查阅一些书籍和网上的资料来解决问题。

Qt4到Qt5的一些变化以及容易出现的问题分享
  • 奶油卷怎么做——奶油蛋糕卷
  • 规律排便的好处
  • 熊猫tv手机怎么开直播
  • 夏天拍婚纱照注意事项和应对措施
  • 如何让皮肤变得嫩滑
  • 热门搜索
    关于黄河的手抄报初一 关于水浒传的手抄报 安全的手抄报图片 我爱我家手抄报内容 简单英语手抄报图片 手抄报的内容 关于圣诞节的手抄报 70周年纪念日手抄报 孝德手抄报内容 礼仪手抄报图片