gpt4 book ai didi

qt - 如何使用 QGraphicsView 的 translate() 函数?

转载 作者:行者123 更新时间:2023-12-04 02:25:19 25 4
gpt4 key购买 nike

在这里我有一个场景和一个关联的 View ,然后我在场景坐标中有一个位置。我想用位置设置视口(viewport)的中心。我该怎么做?我尝试使用 translate() 函数,但它不起作用?

view->translate(10, 10);

视口(viewport)应该随着 delta x 10 和 delta y 10 移动,但它不起作用!

最佳答案

我使用了以下解决方法:

QTransform old_transform = transform();

QRectF scene_rect = scene()->sceneRect();
QRectF new_scene_rect(scene_rect.x()-translation.x(),
scene_rect.y()-translation.y(),
scene_rect.width(),scene_rect.height());
scene()->setSceneRect(new_scene_rect);

setTransform(old_transform);

变换部分是必要的,否则它会重置缩放。

这个解决方案本质上是在强制它改变它允许查看的位置,这远非优雅。

我希望其他人提出一个干净的答案,允许实际使用 translate方法如预期。

请注意,我使用的是 Qt 4.85,可能与较新的版本不同。

关于qt - 如何使用 QGraphicsView 的 translate() 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14610568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com