2024年3月13日发(作者:)
qt qgraphicsscene用法
`QGraphicsScene` 是 Qt 中用于管理 2D 图形项的场景(Scene)类。它提供了一个二维的
可视化区域,可以在这个区域中添加、移动和交互图形项。`QGraphicsScene` 通常与
`QGraphicsView` 一起使用,后者是用于查看和交互场景内容的视图类。
以下是使用 `QGraphicsScene` 的基本用法:
1. 创建 `QGraphicsScene` 对象:
```cpp
QGraphicsScene scene;
```
2. 添加图形项:
你可以通过 `addItem` 方法向场景添加图形项。图形项可以是 `QGraphicsItem` 的子类,
例如 `QGraphicsRectItem`、`QGraphicsEllipseItem` 等。
```cpp
QGraphicsRectItem *rectangle = new QGraphicsRectItem(0, 0, 100, 100);
m(rectangle);
```
3. 创建图形项并设置属性:
```cpp
QGraphicsEllipseItem *ellipse = new QGraphicsEllipseItem(0, 0, 50, 50);
ellipse->setPos(150, 150);
ellipse->setBrush(QBrush(Qt::red));
m(ellipse);
```
4. 创建 `QGraphicsView` 对象并设置场景:
```cpp
QGraphicsView view(&scene);
```
5. 显示窗口:
```cpp
();
```
完整的例子可能如下所示:
```cpp
#include
#include
#include
#include
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
// 创建场景
QGraphicsScene scene;
// 添加矩形图形项
QGraphicsRectItem *rectangle = new QGraphicsRectItem(0, 0, 100, 100);
m(rectangle);
// 添加椭圆图形项
QGraphicsEllipseItem *ellipse = new QGraphicsEllipseItem(0, 0, 50, 50);
ellipse->setPos(150, 150);
ellipse->setBrush(QBrush(Qt::red));
m(ellipse);
// 创建视图并设置场景
QGraphicsView view(&scene);
// 显示窗口
();
return ();
}
```


发布评论