我正在Qt 5.1中编写一个小型CAD应用程序,我正在试图弄清楚如何使QGraphicsScene的坐标与真实世界的尺寸相对应。例如,我打算保持原始形式(值,单位)的坐标,以便在从mm切换到英寸时保留数据。
我在他们的文档(http://qt-project.org/doc/qt-4.8/coordsys.html)中发现,默认单位对应于基于像素的绘图设备上的1像素和对于基于打印的设备的1/72英寸。
这是我应该使用的转换(每英寸72个单位)吗?这不是特别方便......有没有更好的方法将真实世界的尺寸与QGraphicsScene中的坐标相关联?可以调整此转换吗?
谢谢:)
答案 0 :(得分:0)
相对论在这里很重要,除非你决定创建一个代表性的量表,否则你在QGraphicsScene中看到的与现实世界之间没有直接的关联。
你可以愉快地创建一个分子模型来缩放物体内部的原子,或者你可以建模一个允许你在恒星和星系之间旅行的太阳系。重要的是你作为开发人员决定你的规模是什么。
在太阳系中,从(0,0)的GraphicsScene坐标位置到(10,0)可能意味着10米或10英里的距离。只要场景中的对象被建模为相同的比例并使用该比例定位在场景中,那就重要了。
在打印方面,我同意@FrankOsterfeld认为这是在场景中缩放视图的问题。如果你想在屏幕上看到的内容与你在纸上打印的内容之间存在直接关联,那么最好不要在这里使用QGraphicsScene。