🥬Qt固件映像 Raspberry Pi 嵌入式C++(Qt)编程
Last updated
Last updated
Qt5 | C++ | 固件映像 | Raspberry Pi | 游戏 | Yocto | Javascript | Python | 蓝牙 | webscoket | D-Bus通讯 | Sense HAT板 | MQTT | 天气提取器 | WebGL | 温度传感器 | HTML | OpenGL | Vulkan | 图形加速器 | 粒子系统 | 碰撞检测 | 状态驱动 | Android | iOS | 二维 | 三维
在我们的游戏中,我们有一个桨、一个球和三十块砖。 计时器用于创建游戏周期。 我们不处理角度,我们只是改变方向:上、下、左、右。
Qt5 库是为创建计算机应用程序而开发的。尽管如此,它也可以用来创建游戏。开发计算机游戏是了解有关 Qt5 的更多信息的好方法。
#include <QImage>
#include <QRect>
class Pdle {
public:
Pdle();
~Pdle();
public:
void resetState();
void move();
void setDx(int);
QRect getRect();
QImage & getImage();
private:
QImage image;
QRect rect;
int dx;
static const int INITIAL_X = 200;
static const int INITIAL_Y = 360;
};
这是对象的头文件。 INITIAL_X 和 INITIAL_Y 是常量,表示桨对象的初始坐标。
#include <iostream>
#include "pdle.h"
Pdle::Pdle() {
dx = 0;
image.load("paddle.png");
rect = image.rect();
resetState();
}
Pdle::~Pdle() {
std::cout << ("Paddle deleted") << std::endl;
}
void Pdle::setDx(int x) {
dx = x;
}
void Pdle::move() {
int x = rect.x() + dx;
int y = rect.top();
rect.moveTo(x, y);
}
void Pdle::resetState() {
rect.moveTo(INITIAL_X, INITIAL_Y);
}
QRect Pdle::getRect() {
return rect;
}
QImage & Pdle::getImage() {
return image;
}
桨可以向右或向左移动。
Pdle::Pdle() {
dx = 0;
image.load("paddle.png");
rect = image.rect();
resetState();
}
在构造函数中,我们初始化 dx 变量并加载桨图像。我们获取图像矩形并将图像移动到其初始位置。
void Pdle::move() {
int x = rect.x() + dx;
int y = rect.top();
rect.moveTo(x, y);
}
move 方法移动桨的矩形。移动方向由 dx 变量控制。
void Pdle::resetState() {
rect.moveTo(INITIAL_X, INITIAL_Y);
}
ResetState 将桨移至其初始位置。
#pragma once
#include <QImage>
#include <QRect>
class Brick {
public:
Brick(int, int);
~Brick();
public:
bool isDestroyed();
void setDestroyed(bool);
QRect getRect();
void setRect(QRect);
QImage & getImage();
private:
QImage image;
QRect rect;
bool destroyed;
};
...
创建嵌入式环境、加载固件、连接Raspberry Pi和启动、安装RSync跨机器同步目录工具、安装Qt
创建项目、设计UI、配置 Qt creator、编译和部署目标对象、目标(Raspberry Pi)执行应用和调试
Qt信号和槽、Qt自省、模型/视图、管理整体工作流程、编程小部件、创建小部件和基于 QML 的 GUI
Qt 中存储和检索数据、Qt Creator 中实现状态机模型、GUI 中显示虚拟键盘、实现嵌入式 WebSocket 服务器
实现天气提取器预测天气、QSensor 类和 QSensor 插件读取 Sense HAT 板上温度传感器、构建Qt MQTT
QSettings 类保存和恢复跨平台程序设置、D-Bus通讯应用、WebGL远程GUI
代码分析、测试、记录、线程
构建自定义 C++ 库并将其链接到 Qt 应用程序,使用 Qt 提供的工具构建和调试应用程序
使用 C ++创建 Qt 应用程序和使用 Qt Quick 和 QML 脚本语言创建相同的计算器程序
使用基本的 Qt 核心和网络类来构建后端逻辑;利用多线程将工作负载分散到不同的 CPU 线程以加快处理速度;利用 HTTP 请求与远程服务器通信并从中获取数据;解析不同类型的数据格式,例如 XML 和 JSON
Qt对MVC范式的应用;Qt 对 WebEngine 浏览器的支持,构建混合应用程序将 JavaScript 和 HTML 与 Qt 相结合
使用 QPainter 类在屏幕上和屏幕外绘制图形;在 Qt 中创建自定义小部件;Graphics View 框架创建了一个简单的游戏
Qt 应用程序开发的声明式框架;Web 引擎组件创建一个简单的 Web 浏览器;Qt Quick 列表视图创建一个简单的列表;利用状态构造根据对象的当前状态更改对象的属性;利用 SCXML 编辑器创建更复杂的状态机;连接 Qt Quick 和 C;创建一个图片库
使用Qt Quick提供的管理音频和视频媒体,以及如何控制摄像头(如果存在)的功能
确定设备传感器的测量结果,包括设备的定位系统、加速计和其他传感器;在地图上显示设备的位置,以便用户可以看到该位置及其上下文,而不仅仅是坐标数字
标记可翻译的文本;使用 Qt Linguist 将这些文本导出到一个列表中;将翻译后的文本加载回 Qt 应用程序并根据用户的偏好显示它们;本地化特殊字符,例如货币和日期
设置 Android 版 Qt Creator;将应用程序部署到 Android 设备;设置适用于 iOS 的 Qt Creator
设置嵌入式 Linux 映像;从 Windows 机器交叉编译 Qt 项目并将其导出到 Linux 设备;配置Qt框架并缩小其大小,使其适合嵌入式设备;将应用程序部署在实际的嵌入式设备上
创建二维图形视图,二维图形动画游戏;动画中加载外部数据;动画数据容器传输和储存;动画连接网络服务器;自定义光栅图形小部件;Qt 使用 OpenGL 和 Vulkan 图形加速二维和三维图形;C++连接JavaScript和Python脚本丰富动画功能;增强动画内容,如碰撞检测、状态驱动对象和基于时间的游戏循环;在 Qt Quick 的场景图中配置粒子系统并实现 OpenGL 绘画,创建三维动画
开发 Qt/C++ 蓝牙代理