• 8593阅读
  • 13回复

请教有关鼠标拖动问题 [复制链接]

上一主题 下一主题
离线cainiaotuji
 
只看楼主 倒序阅读 楼主  发表于: 2010-09-16
— 本帖被 XChinux 执行加亮操作(2010-09-21) —
窗口上设置了一个Graphicsview用来显示波形
请问如何实现鼠标拖动控制波形左右移动?
本人初学者,向高手求助
离线cainiaotuji
只看该作者 1楼 发表于: 2010-09-16
补充一下,画波形是用addline实现的
离线cainiaotuji
只看该作者 2楼 发表于: 2010-09-17
自己顶一下
请教高手帮忙啊,谢谢了啊
离线cainiaotuji
只看该作者 3楼 发表于: 2010-09-17
一筹莫展中……
离线cainiaotuji
只看该作者 4楼 发表于: 2010-09-26
我再说的具体一点,希望有高手帮忙啊
我在mainwindow中添加graphicsview,用来显示波形。我需要实现的功能是:鼠标在上面左右移动时,波形在graphicsview范围内左右移动。我的思路是:在鼠标事件中根据鼠标点击和拖动结束之后的两个落点之间的距离,调用写在graphicsscene中的绘制波形的程序,在移动之后的位置上重新绘制波形。但是,我现在做出来的效果,只有在有slider的地方,该功能才能实现,点击到波形位置没有任何反应。可能我的思路也不太正确,不知道究竟怎样才能达到预期的效果。

请教各路高手啊,焦急等待……
离线抠涕
只看该作者 5楼 发表于: 2010-09-26
GraphicsView本身支持拖动的:
graphicsView->setDragMode(QGraphicsView::ScrollHandDrag);

你只需要在scene 的坐标系里画波形就好了, 不用考虑手动控制重绘。
离线cainiaotuji
只看该作者 6楼 发表于: 2010-09-26
回 5楼(抠涕) 的帖子
我加入这个语句以后,为什么只有光标变成手型的,无法拖动呢?
离线抠涕
只看该作者 7楼 发表于: 2010-09-27
把scene 设置成比 view 大,,,
离线cainiaotuji
只看该作者 8楼 发表于: 2010-09-27
回 7楼(抠涕) 的帖子
这样的话会出来滑动条,我不想使用滑动条的话,单纯是用鼠标拖拽实现,还有其他的办法吗?
离线抠涕
只看该作者 9楼 发表于: 2010-09-27
滚动条可以隐藏的。。。
离线cainiaotuji
只看该作者 10楼 发表于: 2010-09-28
回 9楼(抠涕) 的帖子
能不能在说的清楚点呢?怎么隐藏?现在只有拖动滑动条的时候可以左右拖动啊
离线hb304387520
只看该作者 11楼 发表于: 2010-10-07
太深奥!
离线qinpanke

只看该作者 12楼 发表于: 2010-10-21
如果是基于QGraphicsScene-QGraphicsView结构而来做的,波形曲线通过addItem加入到Scene中,那么可以通过设置Item来实现波形的移动(波形曲线其实就是一个Item),方法如下:
itemCurve->setFlag(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable | QGraphicsItem::ItemIsFocusable);
// itemCurve为你创建的波形曲线的指针型变量
QQ      308367961
email  qinpanke@sina.com
Blog    http://hi.baidu.com/qinpanke/blog/category/Qt
欢迎大家访问我的博客  共同学习提高
离线marxmax
只看该作者 13楼 发表于: 2011-03-21
楼主 我也在用Graphicsview来显示波形 你能把你的程序发给我研究看看吗 chenchen.301@hotmail.com 谢了
快速回复
限100 字节
 
上一个 下一个