您的位置:首页 > 教育 > 锐评 > ppt怎么做_兴化网站开发_沧州网络推广外包公司_吸引客人的产品宣传句子

ppt怎么做_兴化网站开发_沧州网络推广外包公司_吸引客人的产品宣传句子

2025/2/24 19:23:50 来源:https://blog.csdn.net/weixin_43297891/article/details/145659158  浏览:    关键词:ppt怎么做_兴化网站开发_沧州网络推广外包公司_吸引客人的产品宣传句子
ppt怎么做_兴化网站开发_沧州网络推广外包公司_吸引客人的产品宣传句子

qt-C++笔记之QGraphicsScene和 QGraphicsView中setScene、通过scene得到view、通过view得scene

在这里插入图片描述

code review!

文章目录

  • qt-C++笔记之QGraphicsScene和 QGraphicsView中setScene、通过scene得到view、通过view得scene
      • 1.`setScene` 方法
      • 2.通过 `scene` 获取它的视图 (`views()`)
      • 3.通过 `view` 获取它的场景 (`scene()`)
      • 4.1~3总结
      • 5.常用的 scene()->add 开头的方法
      • 6.scene()->removeItem 方法
      • 7.在 mousePressEvent 中使用 scene()->add 和 scene()->removeItem
      • 8.省略 currentScene,直接使用 scene()-> 调用相关方法

1.setScene 方法

setSceneQGraphicsView 的方法,用于将一个 QGraphicsScene 设置为该视图的显示场景。一个视图可以显示一个场景,而一个场景可以被多个视图共享。

示例代码:

#include <QApplication>
#include <QGraphicsView>
#include <QGraphicsScene>
#include <QGraphicsEllipseItem>int main(int argc, char *argv[]) {QApplication app(argc, argv);// 创建一个场景QGraphicsScene scene;scene.setSceneRect(0, 0, 400, 300);  // 设置场景的范围// 在场景中添加一个椭圆QGraphicsEllipseItem *ellipse = scene.addEllipse(50, 50, 100, 100);// 创建一个视图,并将场景设置到视图中QGraphicsView view;view.setScene(&scene);  // 使用 setScene 设置场景view.resize(500, 400);view.show();return app.exec();
}

解释:

  • view.setScene(&scene) 将场景 scene 设置到视图 view 中。
  • 场景负责管理图元(如椭圆、矩形等),而视图负责将场景渲染到屏幕上。

2.通过 scene 获取它的视图 (views())

QGraphicsScene 提供了 views() 方法,可以返回一个 QList<QGraphicsView*>,表示当前与场景关联的所有视图。因为一个场景可以被多个视图共享,所以返回的是一个列表。

示例代码:

#include <QApplication>
#include <QGraphicsView>
#include <QGraphicsScene>
#include <QGraphicsRectItem>
#include <QDebug>int main(int argc, char *argv[]) {QApplication app(argc, argv);// 创建一个场景QGraphicsScene scene;scene.setSceneRect(0, 0, 400, 300);// 在场景中添加一个矩形QGraphicsRectItem *rect = scene.addRect(100, 100, 200, 150);// 创建两个视图,显示同一个场景QGraphicsView view1;view1

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com