文件名称:演示案例-iso14001-2015标准
文件大小:1.69MB
文件格式:PDF
更新时间:2024-07-14 16:41:12
QT 可视化 实用教程
5.1 演示案例
【任务目标】实现如下图所示的小球碰撞程序。在一个矩形区域内,模拟多
个小球的移动和碰撞(小球和边框、小球之间),整个视图切分为左右 2 个部分。
左侧视图显示当前待发射小球的参数(位置、角度、速度和颜色),颜色由用户
指定,点击“添加”按钮后添加待发射的小球,点击“启动”按钮后右侧视图内
小球开始移动,点击“暂停”按钮暂停小球移动。小球与边框、小球之间会产生
弹性碰撞效果。
【物理模型】小球移动过程中与边框、小球之间发生碰撞时,应遵循一定的
物理模型,才能产生真实感效果。本例为简化程序,假定小球移动过程中没有摩
擦,小球与边框、小球之间的碰撞是完全弹性碰撞(没有能量损失),小球与边
框碰撞为简单的反射过程(只改变角度),小球碰撞后仅仅交换速度和方向。
5.1.1 构建程序框架
1) 创建项目,项目名称为 BallGame,类型选择“Qt Widgets Application”。在“类
详情”设置页面中,取消“创建界面”复选框,选择基类为 QMainWindow。
添加新类“LeftWidget”,选择基类为 QWidget,添加新类“RightWidget”,选
择基类为 QWidget。
2) 在主窗口类中添加 LeftWidget 和 RightWidget 对象,通过 QSplitter 类构建切
分视图框架(MainWindow.h)
#include