Skip to the content.

综合示例 反应力测试小游戏

本示例演示如何制作一款反应力测试小游戏

1. 展示窗口和组件创建 及 基本样式

首先创建项目,使用 Qt Designer 设计界面。其中 UI 界面的逻辑关系如下,添加好对应组件之后,使用样式表来进一步美化组件。

UI界面逻辑关系

组件样式表设置

2. 按钮位置动态调整

给整合窗口添加全局状态:分数。然后添加按钮事件,鼠标在点击到按钮后,得分增加同时按钮跑到随机位置。

添加全局分数状态

按钮随机移动事件

3. 计时器和倒计时进度条

添加剩余时间,总时间与定时器,同时添加开始按钮的鼠标事件,点击开始时,开始按钮变为不可用,点击按钮变为可见,QTimer 开始倒数计时,不断更新进度条。倒计时结束时激活开始按钮,点击按钮变为不可见,弹出信息框汇报得分。

添加计时器全局状态

开始按钮逻辑实现

定时器槽函数

信号与槽连接

4. 自定义按钮位置和事件函数重载

定义一个新的 EscapeButton 类,重载其鼠标进入事件,让其移动而不是瞬移到一个新位置。同时将原来的按钮提升为 EscapeButton 类。

新建自定义按钮类

重载鼠标进入事件动画

组件提升操作

5. 样式表美化界面 2

通过添加图像素材,美化整体界面。

准备贴图素材

添加 .qrc 资源文件

使用样式表应用贴图

最终效果

游戏最终运行效果