找回密码
 立即注册
收起左侧

QT版本升级后类有变更?

3
回复
7717
查看
[复制链接]
累计签到:2 天
连续签到:1 天
来源: 2014-10-29 13:04:16 显示全部楼层 |阅读模式
1Qter豆
我现在用的是QTCreator5.3版本的,在网上找了一个播放器的程序,编译后出在很多错误,错误都指向Phonon这个类定义的指针及函数,在帮助里面根本都没有找到Phonon这个类,请问这种情况怎么办?

最佳答案

查看完整内容

QT5 去掉了 PHONON类 你要么用4.8来运行PHONON 要么你找播放器就找QT5能用的,注意版本
回复

使用道具 举报

累计签到:410 天
连续签到:1 天
2014-10-29 13:04:17 显示全部楼层
QT5 去掉了 PHONON类
你要么用4.8来运行PHONON
要么你找播放器就找QT5能用的,注意版本
回复

使用道具 举报

累计签到:44 天
连续签到:1 天
2014-10-29 14:11:05 显示全部楼层
顶楼上,QT5播放器用的是multimedia这个类
回复

使用道具 举报

尚未签到

2014-10-30 23:52:10 显示全部楼层
1. 由于Qt5将大部分桌面部件移到了Qt Widgets模块中,所以在.pro中要增加下面一行QT += widgets
2. 程序中使用了OWC10,用到了ActiveQt,原来的做法是在.pro中加CONFIG += qaxcontainer,现在需要改成QT += axcontainer当然了,原来的CONFIG += qaxcontainer也将去除
3. 为了充分使用C++11特性,在.pro中加下面一行CONFIG += c++11
4. 在源文件中,凡是涉及到原QtGui中可视部件的,全要修改头文件引用,或者增加QtWidgets头文件,比如:#include <QtGui/QPushButton> 要改成 #include <QPushButton> 或者 #include <QtWidgets/QPushButton>在以前使用#include <QtGui>的地方,要加上 #include <QtWidgets>
5. 由于Qt5去除了QTextCodec::setCodecForCStrings()函数,所以在涉及到在cpp中直接写汉字的情况,有如下两种修改方法:a) 如果以前的源文件编码是GBK的,则需要使用QString::fromLocal8Bit()函数将原来的汉字括起来;或者直接将源文件编码转换成UTF-8的(缺点是MSVC编译器不能方便的使用了)。我使用了使用QString::fromLocal8Bit()来调用的方式(当然了,另写便捷函数或宏来处理)b) 如果以前的源文件编码是UTF-8的,则什么都不用动。
6. 以前使用QDesktopServices::storageLocation(QDesktopServices::xxxx)来获取一些系统目录,现在则要改成QStandardPaths::writableLocation(QStandardPaths::xxxx)
7. 以前调用QFileDialog::getSaveFileName()时,如果在Windows下使用Native Dialog形式指定文件名,则能正常显示,如今Qt5不能正常显示文件名。所以将它的后两个参数加上了,即QFileDialog::getSaveFileName(xxx, xxx, xxx, xxx, 0, QFileDialog:ontUseNativeDialog),这样就正常了,只是它的对话框不是系统形式的,暂且将就吧。
8. 还有,Qt5解决了ui_qaxselect.h文件的问题。在Qt4时代,使用ActiveQt时,老提示没有这个文件,需要自己找到源代码手工uic qaxselect.ui > ui_qaxselect.h来生成一下,Qt5中则解决了该问题。
9.使用到打印相关的类,Qt5单独放到了QtPrintSupport模块中,所以得加头文件#include <QtPrintSupport>,在.pro中要加QT += printsupport
10. 使用到QWebPage等webkit相关可视部件的,Qt5单独放到了QtWebKitWidgets模块中,所以得加头文件#include <QtWebKitWidgets>,在.pro中要加QT += webkitwidgets
11. Qt4中的cleanlooks、plastique、cde、motif等主题样式没有,新加了个fusion,好吧,问题是我的一个项目框架使用的是cleanlooks主题样式然后加自定义样式表,这下可好,升级Qt5后,样子有的就与windowsvista或fusion不相符或有缺陷,得调整一下了。所以,对主题样式依赖比较严重的程序,要衡量一下是否要升级到Qt5了。
12. .pro文件中的TARGET在Qt4(qmake v2)中是可以不填写的,那么它就从自动采用.pro文件名字,而在Qt5中(qmake v3)这个TARGET不可不写。
13. Q_WS_XX的宏不可用了,使用Q_OS_XX代替.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了