# UI_NSEWS **Repository Path**: jiang-mingyu/UI_NSEWS ## Basic Information - **Project Name**: UI_NSEWS - **Description**: 主要使用PyQt5实现的自动驾驶环境下的网络安全预警系统的UI。 - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: dev-opengl - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-03-20 - **Last Updated**: 2024-03-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # UI_NSEWS ### 介绍 自动驾驶环境下的网络安全预警系统的UI的设计。左半部分主要使用OpenGL技术,实现车辆3D模型和车道线以及轨迹的渲染; 左上使用QPainter绘制车辆速度和转向指示灯。 右半部分通过Qtchart实现空心饼状图,显示行车安全指数。 每一个需要绘图的Widget,均在MainWindow层设置了一个独立的线程定时调用对应 Widget的绘图刷新函数,实现内容的定时 刷新,并有效提升了绘图的及时性。 ###已知问题 ### 需要安装的组件 1、python 3.0以上版本。 2、PyQt 5.15.4 3、PyQtChart 5.15.4 4、numpy 1.20.1 5、PyOpenGL 3.1.5 6、pyrr 0.10.3 7、Pillow 8.3.1 ### 软件架构 软件架构说明: ####1、runMain.py 程序入口 ####2、ui_MainWindow.py 由pyuic5编译Qt创建的布局.ui文件编译得到的python文件 ####3、myMainWindo.py 在编译得到的布局文件的基础上对布局进行自定义的实现与其他功能 ####4、myGLPaintArea.py 继承QOpengLGWidget实现的OpenGL绘图区域 ####5、GLModel_Car.py 在OpenGL绘图区域绘制汽车的模型类 ####6、GLModel_LaneLine.py 在OpenGL绘图区域绘制车道线的模型类 ####7、GLModel_Trace.py 在OpenGL绘图区域绘制行车轨迹箭头的模型类 ####8、myInfoPaintArea.py 左上部分行车信息绘制部分(包含车速、转向等指示),其使用Qpainter绘图 ####9、MyDataChart.py 继承QChart实现的空心饼图,在右半部分显示行车安全指数 ####10、utils.py 包含一些工具函数 ####11、ShaderLoader.py 用于OpenGL绘图前加载顶点着色器和片元着色器(shader) ####12、ObjLoader.py 用于OpenGL绘图前加载obj格式的3D模型数据 ###说明: 窗口最底层为myMainWindow,在此之上,在左上角放置了一个用于绘制行车基本信息的QWidget, 左半部分放置了一个QOpenGLWidget类用于OpenGL绘图,右半部分放置6个chartView,用于添加Qchart 实现行车安全指数的可视化显示。 其中,在myMainWindow模块中,为每一个需要绘图的Widget分别设置了一个独立的线程,定时调用需要绘图的Widget 的重绘接口实现刷新。 ### 启动 1、安装所需python扩展包 2、检查资源(res目录),其中所有资源引用均为相对地址引用。 3、直接双击runMain.py启动 ### 使用说明 1.main.py模块为项目目前的程序入口,双击即可运行(2021年3月21日更新) ### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)