1
A
回答
1
最简单的方法是添加一个不可见的QGraphicsRectItem
作为第一项。
然后添加其他项目作为第一个项目的子项目。
第一项的中心是协调中心。
QGraphicsScene *scene = new QGraphicsScene(widget.graphicsView);
// ....
QGraphicsRectItem *frame = scene->addRect(-100,-100,100,100);
frame->setPen(Qt::NoPen);
// ....
// Add new items as children of frame
// Align them relative to their parent
^
|
|
-100,100 | 100,100
+-----------------------------+
| | |
| | |
| | |
| | |
| | |
| | |
| | |
---------------------------+------------------------>
| | |
| | |
| | |
| | |
| | |
| | |
| | |
+-----------------------------+
-100,100 | 100,-100
|
,让其获取窗口大小,覆盖这些方法:
class MainForm : public QMainWindow
{
//...
QGraphicsScene *scene; // Move it here
QGraphicsRectItem *frame; // Move it here
protected:
virtual void resizeEvent(QResizeEvent * event);
virtual bool event(QEvent * event);
virtual void resizeAction();
//...
};
void MainForm::resizeAction()
{
QRectF rect(field->rect());
widget.graphicsView->setSceneRect(rect);
widget.graphicsView->fitInView(rect, Qt::KeepAspectRatio);
}
void MainForm::resizeEvent(QResizeEvent * event)
{
resizeAction();
QMainWindow::resizeEvent(event);
}
bool MainForm::event(QEvent * event)
{
if (event->type() == QEvent::Show)
resizeAction();
return QMainWindow::event(event);
}
0
Scene_item.setSceneRect(x0,y0,x1,y1);
相关问题
- 1. Qt场景项目组边界矩形没有跟随旋转
- 2. 在PyQt中更新Qt场景图
- 3. 如何在文件中保存Qt图形场景项并再次打开它?
- 4. 在一个场景中移动一个项目Qt
- 5. 为什么第一个添加的项目总是出现在Qt的图形场景/视图的中心?
- 6. Qt在移动时在场景位置拖动项目
- 7. QT图形场景/视图 - 用鼠标移动
- 8. QT识别场景中的选定项目
- 9. JavaFX场景调整大小
- 10. 如何更新Qt Widgets项目中的图形视图(Qt Creator)
- 11. Qt在现场/视图的中心添加项目
- 12. Qt的图形场景鼠标事件传播
- 13. Qt - 拖放 - 自定义图形场景 - 事件错误
- 14. 调整Qt中
- 15. 调整SpriteKit场景的大小
- 16. 如何导出整个Unity项目与所有场景?
- 17. 背景图像整形
- 18. 如何调整qt布局中的项目大小?
- 19. 从线程更新JavaFX场景图形
- 20. Qt 5项目可以调用Qt 4项目吗?
- 21. 在DirectX中调整场景的亮度/对比度/伽马值?
- 22. 优化项目的场景对象
- 23. 在matplotlib中自动调整图形
- 24. 在Qt图形视图中获取恒定大小项目的边界框
- 25. Qt GraphicsScene绘图项目
- 26. 调整itemview的项目视图
- 27. 调试JBehave场景
- 28. 调整几何图形/几何图形
- 29. 用QGraphics场景显示图像场景
- 30. Qt - QGraphics(异形)的选择项目
我想,当你调整窗口的大小有图形的项目也跟着左边。如果我调整窗口大小,它们会失去初始对齐并最终出现在中心。 – user1845360 2013-04-09 11:12:12
@ user1845360:我更新了我的答案。 – deepmax 2013-04-09 11:16:47
这里的问题是,随着窗口大小的增加,我的图形项目被放大。 – user1845360 2013-04-09 12:47:41