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

cannot convert argument 1 from 'QWidget *' to 'QObject *' Types pointed to ar...

4
回复
8483
查看
[复制链接]
累计签到:11 天
连续签到:1 天
来源: 2016-2-29 10:06:14 显示全部楼层 |阅读模式
1Qter豆
QDrag *drag = new QDrag(event->widget()); //event所在窗口部件新建拖动对象


这句话提示 error: C2664: 'QDrag:Drag(const QDrag &)' : cannot convert argument 1 from 'QWidget *' to 'QObject *'Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast



怎么破 ? 是Qt快速入门第19篇里边的代码

回复

使用道具 举报

累计签到:1570 天
连续签到:1 天
2016-2-29 11:03:34 显示全部楼层
你用的是Qt 5吧?

在Qt 4中有个构造函数:        QDrag ( QWidget * dragSource )

但是在Qt 5中变成了:        QDrag(QObject *dragSource),

所以会出这样的问题,建议用Qt 4.8来学习。
回复

使用道具 举报

累计签到:11 天
连续签到:1 天
2016-2-29 18:01:50 显示全部楼层
yafeilinux 发表于 2016-2-29 11:03
你用的是Qt 5吧?

在Qt 4中有个构造函数:        QDrag ( QWidget * dragSource )

是Qt5  Qt4  不知道再哪儿能下载
回复

使用道具 举报

累计签到:11 天
连续签到:1 天
2016-3-1 09:33:07 显示全部楼层
因为 QDrag(event->widget())    函数内部是一个widget   而qt5要求内部是一个object  可以修改继承  
回复

使用道具 举报

累计签到:1570 天
连续签到:1 天
2016-3-1 17:29:15 显示全部楼层
惊鸿影 发表于 2016-2-29 18:01
是Qt5  Qt4  不知道再哪儿能下载

看下咱们下面页面,最上面有个Qt SDK,可以下载Qt 4和 Qt Creator,如果需要其他工具,可以在下载页面下载。
回复

使用道具 举报

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

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