有什么方法可以将 QRect 对象从当前位置移动吗?
有很多函数(
moveTo
、moveLeft
、...),但它们都将对象从 (0,0) 移动,而不是从当前位置移动。
如果我需要将对象从当前位置沿 X 方向移动 5,可用的方法首先将其移动到 (0,0),然后移动到 (5,0);
但是我需要将其从实际位置移开。
int x_pos = item->rect.x();
int y_pos = item->rect.y();
x_pos -= 10;
y_pos -= 10;
item->rect.moveTo(x_pos, y_pos);
item->rect.setX(x_pos);
item->rect.setY(y_pos);
QRect::translate
。在你的具体情况下,这会是这样的......
item->rect.translate(-10, -10);
或者,如果您想保留原始的
QRect
不修改...
auto new_rect = item->rect.translated(-10, -10);