c++ - Qt中如何设置场景在最左边?

标签 c++ qt

我正在使用 Qt Creator 创建一个可以根据给定输入绘制 strip 的应用程序。我正在使用 QGraphicsScene 和 QGraphicsRectItem 以及作为图形 View 的容器来绘制它。但是,在调用 draw 函数后,我得到的结果如下所示: Window for drawing strips

所有 strip 的 x 值为 0,这些 strip 出现在容器的中间。我真正想要的是绘制 strip ,以便当 x 值为 0 时,它靠近容器的左侧。关于如何实现这一目标的任何想法?谢谢。

最佳答案

场景元素的坐标在场景坐标系中给出。每个 View 将场景坐标转换为 View 坐标。您需要设置转换以将场景 x=0 映射到 View x=0。如果整个场景可见,则只需设置正确的对齐方式即可:

view.setAlignment(Qt::AlignLeft | Qt::AlignTop);

关于c++ - Qt中如何设置场景在最左边?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35448849/

相关文章:

c++ - 使用带有智能指针的 setter/getter

c++ - 英特尔 IPP 卷积已弃用——是否有不同的 IPP 2D 卷积方法?

c++ - qt binarycreator 不创建 dmg

qt - 调整窗口大小时文本变得模糊

qt - 在运行时解密函数并使用它 QT c++

php - qt进度条不能正常工作

c++ - cpp 文件中的内联构造函数和析构函数

c++ - 在二维伊辛模型上工作。 C++ 新手。我在第 23 行收到错误 "expected unqualified-id before ' {' token"

c++ - 如何以二进制形式显示C++ Boost Library的多精度大整数?

c++ - 在 QML 中使用自定义类中的 Q_PROPERTY