Qt之基于Graphics View实现Mesh网络拓扑图

Posted 草上爬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt之基于Graphics View实现Mesh网络拓扑图相关的知识,希望对你有一定的参考价值。

Mesh是一种多节点、无中心、自组织的无线多跳通信网络,也就是网状结构网络。网络中所有的节点都互相连接,每个节点拥有多条连接通道,所有的节点之间形成一个整体的网络。

一.效果


Mesh网络拓扑形态并不固定,完全依据各节点之间的信道质量自适应变化。这里演示了四个节点四个节点时的拓扑图,当然任意多个节点都是可以的。

 二.原理

1.Graphics View视图、场景、图形项的关系

Graphics View是一种基于图形项的模型/视图模式,并且每个图形元件是可选择、可拖放和修改的,由3个部分组成,场景、视图、图形项。这三者的关系如下图所示


①QGraphicsScene类提供绘图场景,场景是不可见的,是一个抽象的管理图形项的容器,可以向场景添加图形项
②QGraphicsView提供绘图的视图组件,用于显示场景中的内容,可以为一个场景设置几个视图
③QGraphicsItem类是图形项的基类,提供了一些基本的图形项,如绘制矩形QGraphicsRectItem、绘制文字QGraphicsTextItem等

2.Graphics View坐标系统

Graphics View系统有3个坐标系,图形项坐标、场景坐标、视图坐标,如下图所示

以上是关于Qt之基于Graphics View实现Mesh网络拓扑图的主要内容,如果未能解决你的问题,请参考以下文章

Qt基础之二十九:图形视图框架(Graphics View Framework)及其应用

Graphics View绘图架构

Qt Graphics View:检测碰撞方向

QT Graphics-View图元组使用

Qt图形视图体系结构

QT开发(三十九)——GraphicsView框架