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

关于2D作图GraphicsView的问题

8
回复
11177
查看
[复制链接]
累计签到:1 天
连续签到:1 天
来源: 2013-7-16 19:42:33 显示全部楼层 |阅读模式
1Qter豆
我用Graphics View框架写了这么一个程序,视图上有一个三角形,三角形上三个顶点各有一个圆形,用鼠标拖动圆形,相应的两条边会跟着变化file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\413804155\QQ\WinTemp\RichOle\GY]G`~E_LK7]0~U}5]I0OX9.jpg。
图一是程序开始运行时的样子
图二是用鼠标拖动圆形时三角形的边显示异常的样子
图三是用鼠标点击这个窗口之外其他地方之后恢复正常的样子
我怀疑是缓存设置的问题,不知道怎么搞
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

嗯。这样啊。这个例子我没具体看源码!不过,既然是模仿例子,那么就一定可以做出来的! 所以,我建议还是自己搞定吧,这是学习的必要环节,搞定一个就会很有成就感,后面的自学就容易多了!
回复

使用道具 举报

累计签到:1570 天
连续签到:1 天
2013-7-16 19:42:34 显示全部楼层
liyan413 发表于 2013-7-17 17:09
老师太厉害了,一下子就看出来了。我就是在学这个例子,我是看着他的源码,然后构思着写自己的程序,我 ...

嗯。这样啊。这个例子我没具体看源码!不过,既然是模仿例子,那么就一定可以做出来的!

所以,我建议还是自己搞定吧,这是学习的必要环节,搞定一个就会很有成就感,后面的自学就容易多了!
回复

使用道具 举报

累计签到:1570 天
连续签到:1 天
2013-7-16 20:45:08 显示全部楼层
可能是因为这个导致的,看看吧:http://www.qter.org/forum.php?mod=viewthread&tid=120
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2013-7-16 22:14:44 显示全部楼层
yafeilinux 发表于 2013-7-16 20:45
可能是因为这个导致的,看看吧:http://www.qter.org/forum.php?mod=viewthread&tid=120

感觉不是,拖动圆形之后,图形异常,但是点击这个程序的窗口之外的其他地方,图形就立刻正常了。所以我想截那个异常的图,一点鼠标图就正常了,所以我要用手机才能把图形搞下来。感觉是程序来不及将图形正常显示,可能是缓冲的问题。圆形和线都是用QGraphicsItem继承来的类,圆被设置成可被鼠标移动,都是用paint函数来画图,然后添加入QGraphicView的场景中
回复

使用道具 举报

累计签到:1570 天
连续签到:1 天
2013-7-17 13:14:57 显示全部楼层
liyan413 发表于 2013-7-16 22:14
感觉不是,拖动圆形之后,图形异常,但是点击这个程序的窗口之外的其他地方,图形就立刻正常了。所以我想 ...

你是不是想实现这样的效果啊。

这是Qt自带的一个例子:http://qt-project.org/doc/qt-4.8/graphicsview-elasticnodes.html

也可以在帮助中查看Elastic Nodes Example关键字,参考下它的源码。
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2013-7-17 17:08:49 显示全部楼层
老师太厉害了,一下子就看出来了。我就是在学这个例子,我是看着他的源码,然后构思着写自己的程序,我几乎把它程序所有的有关设置图形缓存的代码(虽然不太懂)都复制到我的程序中,可是拖动时就是图形会异常
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2013-7-17 17:09:25 显示全部楼层
yafeilinux 发表于 2013-7-17 13:14
你是不是想实现这样的效果啊。

这是Qt自带的一个例子:http://qt-project.org/doc/qt-4.8/graphicsview- ...


老师太厉害了,一下子就看出来了。我就是在学这个例子,我是看着他的源码,然后构思着写自己的程序,我几乎把它程序所有的有关设置图形缓存的代码(虽然不太懂)都复制到我的程序中,可是拖动时就是图形会异常
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2013-7-17 17:10:03 显示全部楼层
yafeilinux 发表于 2013-7-17 13:14
你是不是想实现这样的效果啊。

这是Qt自带的一个例子:http://qt-project.org/doc/qt-4.8/graphicsview- ...


老师太厉害了,一下子就看出来了。我就是在学这个例子,我是看着他的源码,然后构思着写自己的程序,我几乎把它程序所有的有关设置图形缓存的代码(虽然不太懂)都复制到我的程序中,可是拖动时就是图形会异常
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2013-7-18 03:21:10 显示全部楼层
yafeilinux 发表于 2013-7-16 19:42
嗯。这样啊。这个例子我没具体看源码!不过,既然是模仿例子,那么就一定可以做出来的!

所以,我建议还 ...

终于搞明白了,原来不是缓存设置有问题,而是boundingRect()返回的矩形计算错了,也会出现刚才的问题
回复

使用道具 举报

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

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