Qt5.4.2编译 qtpropertybrowser-2.51

   qtpropertybrowser是一个洛基亚时代的一个产物,其实它就是QtDesigner侧栏那种样子而已。网上大部分的都只适用于Qt4,今天头脑发热想用Qt5编译一下,发觉一大堆错误,因为Qt4有些函数在Qt5里面是没有的,所以不断地找替代函数。当我辛辛苦苦编译出来后,在网上一搜,大把人发布了修改过后的源代码,可以支持Qt5编译,晕死了,早知道就不用那么辛苦了。不过也记录一下怎么去编译好了,下面只讲在编译时候出错的解决方法:

   拿到源码不能把qtpropertybrowser.pro拉到Creator里面,要把buildlib文件夹的buildlib.pro拉到Creator里面。

 

错误1:

 

 

解决方法:地球人都知道Qt5跟Qt4很明显的不同就是这个,所以把#include <QtGui/QWidget>改成#include <QtWidgets/QWidget>

 

 

 

错误2:

 

 

解决方法:如果你看看Qt4的源码就知道Q_TYPENAME被定义成typename ,所以直接把Q_TYPENAME替换成typename

 

 

 

错误3:

 

 

解决方法:这个qVariantValue()已经被Qt5弃用了,可以用qvariant_cast()替换掉它,说到这里大家要好好利用Creator里面的查找替换功能,不然改死你~~~

 

 

 

错误4:

 

 

解决方法:很明显qFindChildren()被废除了,可以用findChildren()替代,但是看清楚这个函数怎么用了,我把

 

QList<QtIntPropertyManager *> intPropertyManagers = qFindChildren<QtIntPropertyManager *>(manager);


改成:

QList<QtIntPropertyManager *> intPropertyManagers = manager->findChildren<QtIntPropertyManager *>();

 

 

 

 

错误5:

 

 

解决方法:把最后一个参数去掉,不要忘了删那个逗号!


 

 

错误6:

 

 

解决方法:把setMovable()改成setSectionsMovable();把setResizeMode()改成setSectionResizeMode()

 

 

 

 

错误7:

 

解决方法,在buildlib.pro文件里面添加下面的代码:

QT       += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets


 

 

下面是图片展:

 

 

 

 

 

相关推荐

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页

打赏作者

小鸡炖技术

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值