【RK3588嵌入式图形编程】-SDL2-构建交互式按钮

news/2025/2/26 1:07:31

构建交互式按钮

文章目录

  • 构建交互式按钮
    • 1、回顾UI组件
    • 2、创建按钮类
    • 3、鼠标悬停事件
    • 4、处理点击事件
    • 5、创建派生按钮
    • 6、扩展功能
      • 6.1 禁用和启用按钮
      • 6.2 鼠标悬停反应
    • 7、总结

在本文中,将探索构建响应用户输入的UI组件的技术。

在本文中,我们将学习如何使用SDL在C++中构建交互式UI组件,我们将探讨如何创建响应用户输入的动态按钮。

文章将涵盖诸如事件处理、创建自定义按钮类以及实现悬停和点击行为等主题。

1、回顾UI组件

本节的主题基于我们之前的工作,特别是上一篇文章中我们设置的UI架构。

我们的main.cpp如下所示,其中我们实现了一个标准的事件循环。为了本课的目的,需要注意的关键是我们有一个名为GameUI的UI对象。

这个对象通过HandleEvent()方法接收所有事件,并在每一帧被要求将内容渲染到窗口表面:

#include <SDL2/SDL.h>
#include "UI.h"

class Window {
public:
  Window(){
    SDLWindow = SDL_CreateWindow(
      "My Program", SDL_WINDOWPOS_UNDEFINED,
      SDL_WINDOWPOS_UNDEFINED, 200, 200, 0);
  }

  void Render(){
    SDL_FillRect(GetSurface(), nullptr

http://www.niftyadmin.cn/n/5867016.html

相关文章

大语言模型中的 Token如何理解?

在大语言模型中&#xff0c;Token 是文本处理的基本单元&#xff0c;类似于“文字块”&#xff0c;模型通过将文本分割成Token来理解和生成内容。举一个形象一点的例子&#xff0c;可以理解为 AI 处理文字时的“最小积木块”。就像搭乐高时&#xff0c;每块积木是基础单位一样&…

el-select滚动获取下拉数据;el-select滚动加载

el-select下拉获取数据 1.解决问题2.封装MyScrollSelect组件3.使用MyScrollSelect组件 1.解决问题 场景&#xff1a;下拉数据量过大&#xff0c;后端提供一个分页查询接口&#xff1b;需要每次滚动加载下一页的下拉数据 且单选的状态&#xff0c;需要支持回显&#xff0c;通过n…

unity学习52:UI的最基础组件 rect transform,锚点anchor,支点/轴心点 pivot

目录 1 image 图像&#xff1a;最简单的UI 1.1 图像的基本属性 1.2 rect transform 1.3 image的component: 精灵 → 图片 1.4 修改颜色color 1.5 修改材质 1.6 raycast target 1.7 maskable 可遮罩 1.8 imageType 1.9 native size 原生大小 2 rect transform 2.1 …

Ajax基础详解

AJAX简介&#xff1a; AJAX是一种前后端交互的技术&#xff0c;通过AJAX能够使用js向服务端发送携带或不携带信息的请求&#xff0c;返回的响应体中会有服务端根据发送的请求报文处理后的结果&#xff0c;这些结果在在前端使用。 AJAX全名&#xff1a; async javascript and X…

使用Uni-app实现语音视频聊天(Android、iOS)

使用Uni-app开发手机端APP已经变得很普遍&#xff0c;同一套代码就可以打包成Android App 和 iOS App&#xff0c;相比原生开发&#xff0c;可以节省客观的人力成本。那么如何使用Uni-app来开发视频聊天软件或视频会议软件了&#xff1f;本文将详细介绍在Uni-app中&#xff0c;…

存储引擎、索引(MySQL笔记第四期)

p.s.这是萌新自己自学总结的笔记&#xff0c;如果想学习得更透彻的话还是请去看大佬的讲解 目录 存储引擎概念InnoDB存储引擎MyISAM存储引擎Memory存储引擎存储引擎的选择 索引三种索引索引分类语法(创建/查看/删除)性能分析工具SQL执行频率慢查询日志profile详情explain执行计…

力扣hot100刷题——11~20

文章目录 11.滑动窗口最大值题目描述思路&#xff1a;滑动窗口单调队列code 12.最小覆盖子串题目描述思路&#xff1a;双指针/滑动窗口哈希code Ⅰcode Ⅱ 13.最大子数组和题目描述思路&#xff1a;dp/贪心code 14.合并区间题目描述思路&#xff1a;贪心code 15.轮转数组题目描…

SpringSecurity处理器:登录成功处理器、登录失败处理器、无权限处理器、注销成功处理器

在 Spring Security 中,你可以通过实现特定的接口或扩展某些类来自定义各种处理器,例如登录成功处理器、登录失败处理器、无权限处理器和登出成功处理器。 以下是每种处理器的具体实现方法: 【示例】首先创建统一的响应结果类和响应结果编码枚举,方便后续示例中使用。 (…