上位机图像处理和嵌入式模块部署(树莓派4b和qt应用全屏占有)

news/2024/9/20 7:27:13/ 标签: 嵌入式硬件

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        我们都知道,嵌入式应用一般都是为了某一个特定应用而存在的。也就是说,和pc不同,这个嵌入式板子一般都是为了解决单一问题存在的,所以通常情况下,我们都希望板子一启动的时候,界面就可以覆盖整个屏幕,实现用户和功能之间的交互。这也是一个常规的操作。

        首先我们也来聊聊,怎么实现程序的全屏覆盖。另外,我们看看,如果程序实现了全屏覆盖了,那么又该怎么退出来。

1、程序的全屏覆盖

        要实现程序的全屏覆盖,整体来说,并不难,

#include <QApplication>
#include <QWidget>int main(int argc, char *argv[]) 
{QApplication app(argc, argv);QWidget window;window.setWindowState(window.windowState() | Qt::WindowFullScreen);window.setWindowFlag(Qt::ToolTip, true);window.show();return app.exec();
}

        这里面最重要的就是对windows属性的设定。只要完成这个属性的设置,那么窗口自然而然就会放到最大。整体来说,效果还是非常不错的。

    window.setWindowState(window.windowState() | Qt::WindowFullScreen);window.setWindowFlag(Qt::ToolTip, true);

2、编译和测试

        准备好了代码,下面自然而然就是编译和测试了。这里编译因为是单文件,没有使用到qt creator,所以就直接使用g++编译了。编译的时候,输入下面这条命令即可,

g++ -std=c++11 -o myapp main.cpp -I/usr/include/aarch64-linux-gnu/qt5 -I/usr/include/aarch64-linux-gnu/qt5/QtWidgets -lQt5Core -lQt5Widgets -lQt5Gui -lQt5DBus -lQt5XcbQpa -lpthread

        执行确认效果的话,因为我们没有屏幕,所以这部分可以直接用real vnc viewer测试下,效果是一样的。

3、退出全屏

        既然实现了全屏显示,下面就有一个问题,如果我们调试的时候,又该怎么退出全屏呢。这里有两种方法,一种是在程序里面添加mouse,或者是keyboard的响应事件,如果过按下了什么按键,自动退出app;还有一种方法就是用ssh登录树莓派4b,直接kill对应的程序就可以。具体哪一种看大家自己的选择了。


http://www.ppmy.cn/news/1453484.html

相关文章

【Docker】docker compose服务编排

docker compose 简介 Dockerfile模板文件可以定义一个单独的应用容器&#xff0c;如果需要定义多个容器就需要服务编排。 docker swarm&#xff08;管理跨节点&#xff09; Dockerfile可以让用户管理一个单独的应用容器&#xff1b;而Compose则允许用户在一个模板&#xff08…

基于SpringBoot的考务管理系统 - 源码免费(私信领取)

1. 研究目的 本项目旨在设计并实现一个基于Spring Boot的考务管理系统&#xff0c;以提高考试管理的效率&#xff0c;简化考试流程&#xff0c;确保考试的顺利进行。 2. 研究要求 a. 需求分析 通过深入了解考务管理流程和需求&#xff0c;分析用户对考试管理系统的需求&…

2021-10-21 51单片机两位数码管显示0-99循环

缘由单片机两位数码管显示0-99循环-编程语言-CSDN问答 #include "REG52.h" #include<intrins.h> sbit K1 P3^0; sbit K2 P3^1; sbit K3 P3^2; sbit K4 P3^3; sbit bpP3^4; bit k1,wk10,wk20; unsigned char code SmZiFu[]{63,6,91,79,102,109,125,7,127,1…

【Python】 逻辑回归:从训练到预测的完整案例

我把我唱给你听 把你纯真无邪的笑容给我吧 我们应该有快乐的 幸福的晴朗的时光 我把我唱给你听 用我炙热的感情感动你好吗 岁月是值得怀念的留恋的 害羞的红色脸庞 谁能够代替你呀 趁年轻尽情的爱吧 最最亲爱的人啊 路途遥远我们在一起吧 &#x1f3b5; 叶…

02 - 步骤 Kafka consumer

简介 Kafka consumer 步骤&#xff0c;用于连接和消费 Apache Kafka 中的数据,它可以作为数据管道的一部分&#xff0c;将 Kafka 中的数据提取到 Kettle 中进行进一步处理、转换和加载&#xff0c;或者将其直接传输到目标系统中。 使用 场景 我需要订阅一个Kafka的数据&…

ASP.NET网上车辆档案管理系统

摘 要 本文采用基于Web的Asp.net技术&#xff0c;并与sql server 2000数据库相结合&#xff0c;研发了一套车辆档案管理系统。该系统扩展性好&#xff0c;易于维护。简化了车辆档案设计流程&#xff0c;去除了冗余信息。汽车销售企业可以通过本系统完成整个销售及售后所有档案…

动态规划专训6——回文串系列

动态规划题目中&#xff0c;常出现回文串相关问题&#xff0c;这里单独挑出来训练 1.回文子串 LCR 020. 回文子串 给定一个字符串 s &#xff0c;请计算这个字符串中有多少个回文子字符串。 具有不同开始位置或结束位置的子串&#xff0c;即使是由相同的字符组成&#xff0…

Webshell绕过技巧分析之-base64/HEX/Reverse/Html/Inflate/Rot13

在网络安全运营&#xff0c;护网HVV&#xff0c;重保等活动的过程中&#xff0c;webshell是一个无法绕过的话题。通常出现的webshell都不是以明文的形式出现&#xff0c;而是针对webshell关键的内容进行混淆&#xff0c;编码来绕过网络安全产品&#xff08;IDS&#xff0c;WAF&…

typescript 不是特别常用,容易忘的知识点

1、花括号对象通过方括号字符串形式取值 let obj { name: asd, age: 21, salary: 400, desc: "asdasd", op: [asd, as, qwe] };for (let i in obj) {console.log(obj[i as keyof typeof obj]); }let key name; console.log(obj[key as name]); console.log(obj[ke…

【机器视觉】yolo-world-opencvsharp-.net4.8 C# 窗体应用程序

这段代码是基于 OpenCvSharp, OpenVinoSharp 和 .NET Framework 4.8 的 Windows Forms 应用程序。其主要目的是加载和编译机器学习模型&#xff0c;对输入数据进行推理&#xff0c;并显示结果。 下面是该程序的主要功能和方法的详细总结&#xff1a; 初始化 OpenVINO 运行时核心…

算法人生(17):从“课程学习”到“逐步暴露心理疗法”27 / 100

课程学习&#xff08;Curriculum Learning&#xff09;是一种机器学习里常用的策略&#xff0c;它的灵感来源于人类学习方式&#xff1a;学习从简单的概念开始&#xff0c;逐步过渡到更复杂的问题。它通过模仿教育领域中课程安排的思想&#xff0c;设计了一系列有序的任务或数据…

W801学习笔记十八:古诗学习应用——中

现在我们加入交互逻辑——对用户选择的判断。 1、定义游戏的相关变量&#xff0c;如记录正确和错误的数量&#xff0c;运行时间等等。这些都可以作为游戏应用的私有属性。 u8 isFinished0;u16 correntCount 0;u16 wrongCount 0;u32 totalTime0; 2、处理交互。 根据前边定义…

Covalent Network(CQT)为 Arbitrum 生态提供 250 万美元的资助,以促进 Web3 的创新与发展

Covalent Network&#xff08;CQT&#xff09;作为 Web3 领先的“数据可用性”层&#xff0c;宣布将提供 250 万美元的资金以支持 Arbitrum 生态项目&#xff0c;包括 Arbitrum One、Nova、Orbit 或 Stylus。此举旨在通过提供资源和帮助&#xff0c;推动利用 Arbitrum 网络上 C…

【iOS】KVC

文章目录 前言一、KVC常用方法二、key与keypath区别key用法keypath用法 三、批量存值操作四、字典与模型相互转化五、KVC底层原理KVC设值底层原理KVC取值底层原理 前言 KVC的全称是Key-Value Coding&#xff0c;翻译成中文叫做键值编码 KVC提供了一种间接访问属性方法或成员变…

[Java EE] 多线程(七): 锁策略

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏:&#x1f355; Collection与数据结构 (90平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 &#x1f9c0;Java …

TCP通信并发:

上次的程序只能保持&#xff0c;单线程或者进程 多进程并发服务器 进程的特点&#xff08;有血缘关系&#xff09; 创建子进程&#xff1a;fork&#xff08;&#xff09;&#xff1b; 虚拟地址空间被复制 &#xff0c;从一份变成两份&#xff08;用户区和内核区&#xff09…

【Linux系统编程】第十三弹---项目自动化构建工具-make/Makefile

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、背景 2、编写makefile 2、make原理 3、理解makefile 4、优化makefile 总结 1、背景 ★ 会不会写makefile&#xff0c;从…

MRI学习笔记-spm独立样本t检验

SPM操作&#xff1a; 9-SPM-fmri任务态 二阶分析&#xff1a; 双样本t检验 - 知乎 (zhihu.com) 批处理脚本&#xff1a; clc; clear; nmodel 3; numsub 27; rootdir D:\LLYdata\motor_inhibition_data2\motor_inhibition_fmri;%数据最上层路径 ffxname data_05_1st_leve…

wireshark的安装使用及相关UDP、TCP、 ARP

初步了解&#xff1a; 进入wireshark后如图&#xff1a; 从图中可以看到很多网络连接在操作的时候我们需要监测哪些 我们可以直接在本地的运行框中输入ipconfig来查看 如图&#xff1a; 从以上图片中我们可以清楚地看到哪些网络连接已经连接的我们只需要按需监测他们即可 但…

【Redis7】了解Redis

1.常见数据库 1.1.键值存储数据库 如 Map 一样的key-value 对&#xff0c;典型代表就是 Redis。 1.2.列存储数据库 关系型数据库是典型的行存储数据库&#xff0c;按行存储的数据在物理层面占用的是连续存储空间&#xff0c;不适合海量数据存储。而按列存储则可实现分布式存储&…