c++ - 缩放 QGraphicsScene 以填充整个 QGraphicsView

标签 c++ qt qgraphicsview qgraphicsscene

我已找到一些解决此问题的方法,但似乎都不够。我有一个显示 QGraphicsSceneQGraphicsView。我想要做的是缩放场景以填充整个 View 。我还希望它在用户调整显示 View 的窗口大小时动态缩放。这样的事情可能吗?如果是这样,如果您能给我一个关于如何实现它的简短示例,我会很高兴。提前致谢。

最佳答案

您可以创建继承自 QGraphicsView 的自定义类。您应该在自定义 QGraphicsView 中重新实现 resizeEvent( QResizeEvent *event ),例如:

void MyView::resizeEvent(QResizeEvent *event)
{

    fitInView(0, 0, 500, 500,Qt::KeepAspectRatio);

    QGraphicsView::resizeEvent(event);
}

这样 View 将始终显示整个场景。 IE。如果更改窗口大小并调整 graphicsView 的大小,则场景会缩放,您可以适本地看到所有内容。

关于c++ - 缩放 QGraphicsScene 以填充整个 QGraphicsView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24109064/

相关文章:

C++:组合算法

c++ - Qt - 将文件拖放到 ListView 中

c++ - 如何使用QT Designer和Visual Studio连接Qt信号和插槽

drag-and-drop - 如何在 KSnapshot 中的 QLabel 上选择带有 QRubberBand 的区域?

c++ - 检查类 T 是否具有带有 void_t 的成员类型 Member

qt - 如何告诉 Qt 始终在 QTableView 中显示编辑器?

qt - QLabel 中的超链接和远程图像

qt - 如何使qt qgraphicsview缩放不影响点画图案?

c++ - QGraphicsScene 中没有显示任何内容

c++ - 如何在系统路径中搜索文件?