Qt固件映像 Raspberry Pi 嵌入式C++(Qt)编程

news/2024/7/7 22:21:27

Qt C++创建突围游戏应用示例

在我们的游戏中,我们有一个桨、一个球和三十块砖。 计时器用于创建游戏周期。 我们不处理角度,我们只是改变方向:上、下、左、右。

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 Qt固件映像

创建嵌入式环境、加载固件、连接Raspberry Pi和启动、安装RSync跨机器同步目录工具、安装Qt

Raspberry Pi 上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
  • 代码分析、测试、记录、线程

Qt应用开发

  • 构建自定义 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 绘画,创建三维动画

自定义Yocto项目

项目:开发 Qt/C++ 蓝牙代理

参阅一:亚图跨际
参阅二:亚图跨际

http://lihuaxi.xjx100.cn/news/1974213.html

相关文章

打造更智能的应用 - 机器学习和Andorid

打造更智能的应用 - 机器学习和Andorid 一、关于机器学习和Andorid二、使用 Gemini 让您的 Android 应用如虎添翼2.1 Gemini API2.2 Android AICore 三、现成可用的还是自定义的机器学习3.1 机器学习套件 SDK 的常见用户流3.2 高性能自定义机器学习 四、机器学习套件 SDK&#…

datavrap可视化设计器使用手册

datavrap使用手册 一、产品简介 datavrap是一个动态数据可视化设计器&#xff0c;通过简单配置生成可视化视频&#xff0c;图片和gif。 站长&#xff1a;B站UP&#xff0c;夹克mnnm 这个产品的灵感是在做B站视频时&#xff0c;觉得每次通过修改代码录屏实现视频制作太过于繁琐&…

无心剑七绝《忆彭德怀》

七绝忆彭德怀 彭公铁骨傲苍松 德布黎民逆赤龙 怀义光华传百代 真金火炼自从容 2024年1月16日 平水韵二冬平韵 这首七绝以“忆彭德怀”为题&#xff0c;通过四句二十八字的凝练表达&#xff0c;深情缅怀了彭德怀元帅的高尚品质和坚韧精神。作者无心剑运用古典诗词的形式&#xf…

第18章_JDK8-17新特性拓展练习(lambda表达式,Stream API,Optional的使用)

文章目录 第18章_JDK8-17新特性拓展练习lambda表达式1、Supplier接口练习12、Supplier接口练习23、Consumer接口和BiConsumer接口4、Consumer接口5、Comparator接口6、Comparator接口7、Comparator接口8、Predicate接口9、Predicate接口、Consumer接口10、Function接口11、BiFu…

backtrader策略库:强化学习二:应用

点此获取backtrader技术教程 前一个帖子介绍了梯度提升gradient ascent的概念&#xff0c;本文介绍如何使用梯度提升最大化回报函数。 文末有github源码链接。 In my last post we learned what gradient ascent is, and how we can use it to maximize a reward function. T…

IDA Pro 7.7和8.3共用方案

1.问题 IDA 8.3版本放出来后&#xff0c;我安装之后&#xff0c;把之前用的正好的7.7给卸载了&#xff0c;然后发现&#xff1a;IDA 8.3版本只能反编译x86和x64两个架构&#xff0c;而我又是arm和arm64的重度用户&#xff0c;只能把旧版下载回来。问题就出现在这里。 &#x…

【SpringBoot】SpringBoot 项目初始化方法

github 搜索 springboot 模板 github 搜索 springboot 模板&#xff0c;拉取现成代码。 SpringBoot 官方的模板生成器 SpringBoot 官方的模板生成器&#xff08;https://start.spring.io/&#xff09; 在 IDEA 开发工具中生成 这里我修改成阿里的镜像主要是要使用 Java8。 …

Scrcpy:掌握你的Android设备

Scrcpy&#xff1a;掌握你的Android设备 本文将介绍Scrcpy工具&#xff0c;它是一种强大的安卓设备控制工具&#xff0c;可以实现屏幕镜像、操作控制等功能。我们将探讨Scrcpy的基本原理和工作方式&#xff0c;并介绍如何使用Scrcpy连接和控制安卓设备。此外&#xff0c;我们还…