找回密码
 立即注册
收起左侧
楼主: yafeilinux

第19篇 2D绘图(九)图形视图框架(上)

121
回复
91329
查看
  [复制链接]
累计签到:1568 天
连续签到:1 天
2015-12-22 08:04:40 显示全部楼层
newqtlearner 发表于 2015-12-21 14:07
1.在前面的项目中添加新的C++类,类名设为 MyItem,基类设为QGraphicsItem。。。
这个添加新C++类里面怎么 ...

需要手动输入
回复 支持 反对

使用道具 举报

累计签到:109 天
连续签到:1 天
2015-12-24 14:12:30 显示全部楼层
一个人听雨 发表于 2015-3-29 20:05
关于最后右键菜单,多重继承的问题。一旦让MyItem 多重继承QObject和QGraphicsItem,并加上Q_OBJECT,运行时 ...

遇到同样的问题,看到你的评论 终于解决了,多谢~
回复 支持 反对

使用道具 举报

累计签到:7 天
连续签到:1 天
2015-12-27 16:03:29 显示全部楼层
yafeilinux 老师,您好!请问你一个问题:我现在想在Qt5.5中操作SVG图片,并操作SVG图片上的图元(SVG图片的按钮等,不知道是不是这个叫法),应该怎么做?
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2015-12-28 10:49:11 显示全部楼层
chxyier 发表于 2015-12-27 16:03
yafeilinux 老师,您好!请问你一个问题:我现在想在Qt5.5中操作SVG图片,并操作SVG图片上的图元(SVG图片 ...

看下这两个例子:SVG Generator Example和SVG Viewer Example,在Qt帮助中索引这个关键词即可。
回复 支持 反对

使用道具 举报

累计签到:4 天
连续签到:1 天
2016-1-9 19:03:30 显示全部楼层
讲的挺好的,多谢!!!!!
回复 支持 反对

使用道具 举报

累计签到:2 天
连续签到:1 天
2016-1-12 13:04:06 显示全部楼层
学习了!!!谢谢!!!!!
回复 支持 反对

使用道具 举报

累计签到:21 天
连续签到:1 天
2016-1-26 12:34:49 显示全部楼层
您好,请问QGraphicsItem如何处理鼠标悬停事件呢
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2016-1-29 19:45:24 显示全部楼层
Infinity 发表于 2016-1-26 12:34
您好,请问QGraphicsItem如何处理鼠标悬停事件呢

重新实现hoverEnterEvent、hoverLeaveEvent、hoverMoveEvent
回复 支持 反对

使用道具 举报

累计签到:21 天
连续签到:1 天
2016-1-31 18:17:45 显示全部楼层
yafeilinux 发表于 2016-1-29 19:45
重新实现hoverEnterEvent、hoverLeaveEvent、hoverMoveEvent

学会了,还要加上一句
  1. setAcceptHoverEvents(true);
复制代码
之前一直没法触发
回复 支持 反对

使用道具 举报

累计签到:21 天
连续签到:1 天
2016-1-31 18:21:25 显示全部楼层
还有另一个问题,我想实现拖动效果,所以我在拖动drag->exec();前后是这样写的
  1.     hide();
  2.     drag->exec();
  3.     show();
复制代码
但是程序第一次拖动时,原来的Item消失后,drag的图片没有立即显示,而是在拖动一段距离后才出现。
第二次拖动或拖动其他Item之后就没有这种情况。
无论是否判断startDragDistance都会这样,请问这是什么情况。
或者还能怎样写比较好。
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2016-1-31 20:49:41 显示全部楼层
Infinity 发表于 2016-1-31 18:21
还有另一个问题,我想实现拖动效果,所以我在拖动drag->exec();前后是这样写的但是程序第一次拖动时,原来 ...

没有发现你说的问题啊,你在测试下,或者使用新的源码测试。
回复 支持 反对

使用道具 举报

累计签到:21 天
连续签到:1 天
2016-2-1 15:28:57 显示全部楼层
yafeilinux 发表于 2016-1-31 20:49
没有发现你说的问题啊,你在测试下,或者使用新的源码测试。

还是这样。。没关系不太重要。。也可能是其他部分引起的。

现在我想让拖动到的对象,也就是例子里的RectItem,在dropEvent里获取拖动的对象MyItem的指针MyItem *,应该怎么做?
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2016-2-2 15:51:33 显示全部楼层
Infinity 发表于 2016-2-1 15:28
还是这样。。没关系不太重要。。也可能是其他部分引起的。

现在我想让拖动到的对象,也就是例子里的Rect ...

用信号槽试试!
回复 支持 反对

使用道具 举报

累计签到:16 天
连续签到:1 天
2016-3-10 14:52:31 显示全部楼层
为什么底下用来放置拖放的矩形在程序初始化的时候并没有显示出类 RectItem 的构造函数里设置的颜色,必须要拖拽一次圆形在其上方,但是不放置,才会显示出构造函数里设置的颜色?
回复 支持 反对

使用道具 举报

累计签到:16 天
连续签到:1 天
2016-3-10 14:56:56 显示全部楼层
好了我知道问题所在了,是因为 RectItem 的构造函数里没有初始化 dragOver 造成的。
回复 支持 反对

使用道具 举报

累计签到:16 天
连续签到:1 天
2016-3-11 09:43:37 显示全部楼层
如果要 override shape() 这个函数,有没有办法自动检测出 item 的真实形状?代码里头是我们手动去设置的。
回复 支持 反对

使用道具 举报

累计签到:25 天
连续签到:1 天
2016-3-28 09:05:09 显示全部楼层

yafei老师你好,Qt5.5.1中,新建空的项目是不是Empty qmake project ,为啥我新建之后,声明头文件
#include <QtGui>, QGraphicsScene等输入后不能自动显示出来,需要在头文件中具体声明类后才能用呢?
而且老师写的例子我下载下来之后我也不能用,报了一堆错,都是没有声明之类的错误?
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2016-3-30 11:36:40 显示全部楼层
贝贝456 发表于 2016-3-28 09:05
yafei老师你好,Qt5.5.1中,新建空的项目是不是Empty qmake project ,为啥我新建之后,声明头文件
#inclu ...

Qt 5跟Qt 4有很多不同的,所以实现步骤跟教程有出入,而且源码无法直接编译运行,需要进行改动。
回复 支持 反对

使用道具 举报

累计签到:3 天
连续签到:1 天
2016-4-30 19:33:04 显示全部楼层
@yafeilinux 请问老师,用这个可以实现环形菜单么,并让它自动旋转。。。。
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2016-5-3 16:21:26 显示全部楼层
dyb_qt 发表于 2016-4-30 19:33
@yafeilinux 请问老师,用这个可以实现环形菜单么,并让它自动旋转。。。。

什么样的环形菜单?
回复 支持 反对

使用道具 举报

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

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