Qt|会跳舞的机器人-显示绘制图形

131 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第17天,点击查看活动详情

持续更新,接着上篇文章继续讲解~

静态机器人的效果已经可以显示出来了,对于刚刚接触QGraphicsView架构的友友们,却不知道该如何就呈现在QWidget窗口上了!

今天我们就讲述下,如何将绘制的图形显示在窗口中。

在QtDesigner中有一个叫做QGraphicsView的控件,我们所有绘制的图形都是需要在控件上显示的。

QGrahicsView控件.png

该控件也就是我们在QGraphicsView中所说的视图。

视图:提供绘图的视图组件,用于显示场景中的内容。

QGraphicsView图形.png

看这个图形会更容易理解一些。

我们所有的图形都需要在场景上展示,(黄色区域部分)。

对于我们上一篇文章中绘制的机器人图形来说,都是需要放到场景中(QGraphicsScene)。

m_pScene = new QGraphicsScene(-200, -200, 400, 400);
m_pScene->addItem(robot);

m_pScene:场景类

robot:绘制模拟人图形类

将绘制的数据进行绑定后,就可以把场景设置到视图上,由此,就可以在QGraphicsView中看到我们绘制的机器人图形了。

代码显示,如下:

ui.graphicsView->setScene(m_pScene);
ui.graphicsView->setRenderHint(QPainter::Antialiasing);
ui.graphicsView->setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate);
ui.graphicsView->setBackgroundBrush(QColor(255, 182, 193));

代码解析:

在上述4句代码中,最最重要的就是setScene。

其余3句都是对QGraphicsView进行风格设置。

具体的流程,如下:

定义机器人图形 --> 将图形绑定到场景中 -->将场景赋值到视图中 --> QWidget窗口中用来显示视图。

这里需要详细说明的是:robot

其实这里就是绘制的所有机器人图形的总接口,只是为了方便操作,又将机器人头部、躯干、四肢这些内容都汇集到QRobot类中。

该类也是继承自QRobotPart中,并没有实际操作,只是用于组合数据。

看到这里,大家应该知道如何简单的显示图形了吧!

我是中国好公民st,一名C++开发程序猿~