• 7044阅读
  • 0回复

RubberBand in QGraphicsScene [复制链接]

上一主题 下一主题
离线songyuncen
 
只看楼主 倒序阅读 楼主  发表于: 2008-01-14
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
QRubberBand 提供在QWidget下的鼠标拖选矩形或线形区域的功能.我现在想在QGraphicsView 的框架下使用这种拖选功能,先在QGraphicsScene中导入需要的图像Pixmap item,然后能够拖选Pixmap的区域.如果直接以QGraphicsView 作为QRubberBand的父类来建立QRubberBand 类,更本无法显示,我估计是应为QGraphicsView的rendering完全由QGraphicsScene来决定.于是改变思路,我建立两个item实例 QGraphicsRectItem 和 QGraphicsLineItem,也就是一个矩形Item和一个线形Item,根据鼠标响应事件来改变其几何形状,并提交重绘要求.

但问题也就出来了,由于后面的Pixmap Item很大,矩形框或线形区域 Items 有时显示在pixmapitem 的上面,有时又在下面,在下面的时候,拖选框就看不见,但能确定它们是重绘了的,只是由于与Pixmap item 重叠,时而在上时而在下,不知道如何解决,不清楚QGraphicsScene 中item 重叠时是如何可视化的,希望高手帮助.
快速回复
限100 字节
 
上一个 下一个