Qt 如何计算和设置QGraphicsItem相对于新父项的新位置';它的起源是什么?
问题 如何计算和设置QGraphicsItem相对于新父级原点的新位置 背景信息 我正在开发一个调整大小的功能,在双击给定对象(矩形、椭圆等)时会显示一个带有一个锚点的边界框。用户可以通过调整定位点的位置来调整对象的大小 什么在起作用 用户可以双击对象并在第一次尝试调整大小时进行精细调整 有问题的观察结果 在连续调整大小的尝试(过程)中,用户看到对象在双击对象并轻轻移动锚点后立即“跳跃”(即,突然调整大小)。对象不会突然调整到任何位置,而是精确地调整到上一个父对象的位置 走向根本原因 我已将问题缩小到以下语句(来自重载mousemovevent()函数的片段):Qt 如何计算和设置QGraphicsItem相对于新父项的新位置';它的起源是什么?,qt,qt4,qgraphicsview,qgraphicsitem,qgraphicsscene,Qt,Qt4,Qgraphicsview,Qgraphicsitem,Qgraphicsscene,问题 如何计算和设置QGraphicsItem相对于新父级原点的新位置 背景信息 我正在开发一个调整大小的功能,在双击给定对象(矩形、椭圆等)时会显示一个带有一个锚点的边界框。用户可以通过调整定位点的位置来调整对象的大小 什么在起作用 用户可以双击对象并在第一次尝试调整大小时进行精细调整 有问题的观察结果 在连续调整大小的尝试(过程)中,用户看到对象在双击对象并轻轻移动锚点后立即“跳跃”(即,突然调整大小)。对象不会突然调整到任何位置,而是精确地调整到上一个父对象的位置 走向根本原因 我已将问题
dynamic_cast<RIShape*>(_item)->scaleBy(myp, xscale, yscale);
QGraphicsItem* item = itemAt( event->pos() );
RIShape* shape= dynamic_cast<RIShape*>(item);
if( item && shape )
{
if( !_selector )
{
_selector = new RISelector(item);
...
RISelector(QGraphicsItem* item)
: QGraphicsRectItem(item->sceneBoundingRect()), _W(10.0),
_rect(item->sceneBoundingRect()), _pivot(0,0), _pressed(false), _isResizing(false),
_bndBoxPen(Qt::black, 2, Qt::DashLine, Qt::RoundCap, Qt::RoundJoin),
_anchorPen(Qt::black, 2, Qt::SolidLine), _item(item), _isLef(false)