c++ 如何移动项目的QRect

zqdjd7g9  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(105)

有没有办法将QRect对象从当前位置移动?
有许多函数(moveTomoveLeft,...),但它们都是从(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);

字符串

ef1yzkbh

ef1yzkbh1#

就用QRect::translate。在你的特殊情况下,这将是这样的...

item->rect.translate(-10, -10);

字符串
或者,如果您想保留原始的QRect未修改.

auto new_rect = item->rect.translated(-10, -10);

相关问题