我正在尝试使用WYSIWYG编辑器,该编辑器允许用户在页面上绘制形状,而Qt图形场景支持似乎非常适合这样做。但是,我希望所有的
QGraphicsItem
物体以十分之一毫米的速度工作,但我不知道如何做到这一点。
例如:
// Create a scene that is the size if an A4 page (2100 = 21cm, 2970 = 29.7cm)
QGraphicsScene* scene = new QGraphicsScene(0, 0, 2100, 2970);
// Add a rectangle located 1cm across, 1cm down, 5cm wide and 2cm high
QGraphicsItem* item = scene->addRect(100, 100, 500, 200);
...
QGraphicsView* view = new QGraphicsView(scene);
setCentralWidget(view);
现在,当我显示上面的场景时,我希望这些形状以适合屏幕dpi的大小显示。这只是一个使用
QGraphicsView::scale
还是我必须做一些更复杂的事情?
请注意,如果我使用自定义的Qwidget,那么我将使用
QPainter::setWindow
和
QPainter::setViewport
创建自定义映射模式,但我看不到如何使用图形场景支持来执行此操作。