• 9413阅读
  • 12回复

qt下有没有像XP下鼠标拖出矩形框的相对应的类,或者事件? [复制链接]

上一主题 下一主题
离线pear_2268
 

只看楼主 倒序阅读 楼主  发表于: 2010-01-13
想跟踪一下鼠标拖出的矩形框,对矩形框进行操作,就像VC下的CRectTracker
离线yangfanxing
只看该作者 1楼 发表于: 2010-01-13
mouseMoveEvent()
以及鼠标按下、双击等事件重写;
RECT用painter自己绘制~
PHPWind好恶心。。。不想看这种界面。。。
离线pear_2268

只看该作者 2楼 发表于: 2010-01-13
那就有点麻烦了,在vc下会自动判断鼠标按下时,是否进行了矩形框的拖动。如果按照楼上的说法的话,首先应该知道鼠标除了按下外,还要移动,最后还得记住鼠标release时的坐标
离线yangfanxing
只看该作者 3楼 发表于: 2010-01-13
呃。。。貌似是这样的。。。
咱们坐等高人解惑~~呵呵。。。
PHPWind好恶心。。。不想看这种界面。。。
离线pear_2268

只看该作者 4楼 发表于: 2010-01-13
引用第3楼yangfanxing于2010-01-13 16:04发表的  :
呃。。。貌似是这样的。。。
咱们坐等高人解惑~~呵呵。。。

看起来很麻烦,呜呜
离线benbenmajia

只看该作者 5楼 发表于: 2010-01-13
用Alpha做,精通qt4编程中有很具体的demo,你可以找一下,QPIXMAP,QPAINTER,等
安然.....
离线xinqingfly

只看该作者 6楼 发表于: 2010-01-13
你做的是需要用QPainter绘图的程序吗,如果是的话在你处理鼠标事件函数中记录下鼠标按下的pos、移动的位移,然后在绘制完图后调用drawRect就可以画出来了,反正是要绘制图,顺手绘制了就行了
菜鸟也是鸟
离线pear_2268

只看该作者 7楼 发表于: 2010-01-14
基本上就是记住拖动出的矩形框大小,然后再进行绘制。现在发现QT4下有个相关的类QRubberBand,但在3下还没发现相关的类,有兴趣的可以研究一下这个类,呵呵
离线xinqingfly

只看该作者 8楼 发表于: 2010-01-14
呵呵,不错,挺好用,这样就可以省去绘制的代码了,不过要区分一下是在绘图状态还是选择状态
菜鸟也是鸟
离线xlttap

只看该作者 9楼 发表于: 2010-01-14
用QRubberBand,或者在QGraphicsView中用setDragMode(RubberBandDrag)
我简单我快乐
离线hehui

只看该作者 10楼 发表于: 2010-03-03
Demo~~~~~~~~~~~~
离线wxr159835
只看该作者 11楼 发表于: 2011-01-17
怎么实现,求教!
离线XChinux

只看该作者 12楼 发表于: 2011-01-17
07年写的,供参考,里面的scene.hpp、scene.cpp中的mousePressEvent()、mouseReleaseEvent()、mouseMoveEvent()
[ 此帖被XChinux在2011-01-17 21:35重新编辑 ]
附件: ex1.zip (9 K) 下载次数:19
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个