Qt 调试系统输出报警声以及添加资源
文章目录
- 前言
- 一、方法1 使用 Qsound
- 1.添加都文件 直接报错
- 2.解决这个错误 添加 QT += multimedia
- 3. 加入代码又遇到新的错误
- 小结
- 二、第二种方法
- 1.引入库
- 2.添加资源
- 2.1依次点击Qt--->Qt Resource File--->Choose
- 2.2给资源文件起个名字,如:res,在点击下一步
- 2.3 下次需要添加资源
- 3.添加资源无法播放问题
- 3.1遇到问题:用下面语句无论怎么更换地址都没法播放声音
- 3.2解决问题
- 4.添加资源路径技巧
- 三、 QPixmap 没问题,opencv imread 读取有问题
- 1. opencv imread在Qt 读取图片问题
- 2.读取图片小结
- 总结
前言
遇到一个需求,使用Qt输出报警声,于是试一试能调用的方法。
一、方法1 使用 Qsound
1.添加都文件 直接报错
#include
直接添加头文件
结果马上报错

2.解决这个错误 添加 QT += multimedia
QT += multimedia
问题解决
3. 加入代码又遇到新的错误
#include "widget.h"#include <QApplication>
#include <QSound>
//#include <QCoreApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;// 播放系统默认的报警声音
// QSound sound("alert"); // 系统默认警告声
// sound.play();// 播放 Windows 的默认报警声音QSound sound("SystemExclamation"); // 系统警告声sound.play();w.show();return a.exec();
}

小结
竟然不能用,应该是找不到文件路径,之类的,时间比较赶,就先搞另外一种方法,有空再来测试
二、第二种方法
调用MP3,播放
1.引入库
代码如下(示例):
#include "widget.h"
#include <QApplication>
#include <QSound>
#include <QMediaPlayer>
#include <QAudioOutput>
int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;// 创建 QMediaPlayer 实例QMediaPlayer *player = new QMediaPlayer;// 设置要播放的 MP3 文件路径player->setMedia(QUrl::fromLocalFile("E:/QTcode/liugang/baojing/baojing/shengyin.mp3"));// 开始播放player->play(); w.show();return a.exec();
}
2.添加资源
2.1依次点击Qt—>Qt Resource File—>Choose

2.2给资源文件起个名字,如:res,在点击下一步









2.3 下次需要添加资源

3.添加资源无法播放问题
3.1遇到问题:用下面语句无论怎么更换地址都没法播放声音
player->setMedia(QUrl::fromLocalFile("qrc:/mp3/shengyin.mp3")); //://shengyin.mp3
怀疑是资源添加有问题:有折腾了一下,先显示一张图片
在Qt中,您可以使用`QLabel`和`QPixmap`来读取并显示一张图片。以下是一个简单的例子,展示了如何使用这些类来显示一张图片:1. **包含必要的头文件**:```cpp
#include <QApplication>
#include <QLabel>
#include <QPixmap>
- 读取并显示图片:
int main(int argc, char *argv[]) {QApplication app(argc, argv);// 创建一个QLabel对象QLabel *label = new QLabel;// 创建一个QPixmap对象并加载图片QPixmap pixmap("path/to/your/image.jpg");// 将图片设置为QLabel的背景label->setPixmap(pixmap);// 显示QLabellabel->show();return app.exec();
}
结果显示图片没问题
3.2解决问题
将读取MP3文件的函数修改一下
将这句修改: player->setMedia(QUrl::fromLocalFile(“qrc:/mp3/shengyin.mp3”)); //😕/shengyin.mp3
修改成:player->setMedia(QUrl(“qrc:/mp3/shengyin.mp3”)); //😕/shengyin.mp3
#include "widget.h"
#include "ui_widget.h"
#include <QMediaPlayer>
#include <QLabel>
#include <QPixmap>
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 创建 QMediaPlayer 实例QMediaPlayer *player = new QMediaPlayer;//player->setMedia(QUrl::fromLocalFile("D:/QTcode/gou/baojing/baojing/baojing/shengyin.mp3"));//player->setMedia(QUrl::fromLocalFile("qrc:/mp3/shengyin.mp3")); //://shengyin.mp3player->setMedia(QUrl("qrc:/mp3/shengyin.mp3")); //://shengyin.mp3// 开始播放player->play();// 创建一个QLabel对象QLabel *label = new QLabel;// 创建一个QPixmap对象并加载图片QPixmap pixmap(":/mp3/moban.jpg"); //://mp3/moban.jpg// 将图片设置为QLabel的背景label->setPixmap(pixmap);// 显示QLabellabel->show();
}Widget::~Widget()
{delete ui;
}
4.添加资源路径技巧

三、 QPixmap 没问题,opencv imread 读取有问题
// 创建一个QLabel对象
QLabel *label = new QLabel;// 创建一个QPixmap对象并加载图片
QPixmap pixmap(":/moban/moban.jpg"); //://mp3/moban.jpg// 将图片设置为QLabel的背景
label->setPixmap(pixmap);// 显示QLabel
label->show();
//://moban/moban.jpgtempl = imread("D:/QTcode/gou/gouPiPeiMain/gouPiPeiMain/moban/moban.jpg");//模板
改成
templ = imread(":/moban/moban.jpg");//模板

1. opencv imread在Qt 读取图片问题
在Qt 中使用Imread读取图片,相对路径是行不通的,会报错,估计是编码的时候没法正确读取路径,试了很多都不行,
同样的路径用Qt自带的QPixmap pixmap(“:/moban/moban.jpg”);就没有问题imread
相对路径
相对路径的好处是,图片在项目目录下,拷贝的时候跟着拷贝。再次编译的时候不会丢失。
**最常用的方法是把图片拷贝到项目的根目录下面,和cpp文件放在同一个目录,**直接访问。
Image = imread("01.JPG");
或者在根目录下,新建一个文件夹,如:pictures。把图片拷贝到pictures文件夹下面。
Image = imread("pictures//01.JPG");//可以
Image = imread("pictures\\01.JPG");//可以
Image = imread("pictures/01.JPG");//可以
这三种方式,都是可以的。
而单右斜线形式是不可以的。
srcImage = imread("pictures\01.JPG");//不可以
绝对路径
也可以使用绝对路径,和相对路径类似的。
Image = imread("D://Project test//Project1//pictures//01.JPG");//可以
Image = imread("D:\\Project test\\Project1\\pictures\\01.JPG");//可以
Image = imread("D:/Project test/Project1/pictures/01.JPG");//可以
这三种方式,都是可以的。
而单右斜线形式是不可以的。
Image = imread("D:\Project test\Project1\pictures\01.JPG");//不可以
2.读取图片小结
- Qt自带的用相对路径,绝对路径都没问题
- Qt里面用Imread 只能读取绝对路径,或者先用Qt自带的读取成pixmap、Qimage格式在转换成Mat格式
总结
继续加油
相关文章:
Qt 调试系统输出报警声以及添加资源
文章目录 前言一、方法1 使用 Qsound1.添加都文件 直接报错2.解决这个错误 添加 QT multimedia3. 加入代码又遇到新的错误小结 二、第二种方法1.引入库2.添加资源2.1依次点击Qt--->Qt Resource File--->Choose2.2给资源文件起个名字,如:res&#…...
Linux下文件的创建写入读取编程
在linux下操作一个文件,首先要保证文件的存在(不存在就创建),接着打开文件(打开成功)并得到文件描述符,接着在进行读写操作,最后还需要关闭文件。如果我们对文件进行读写之后不关闭文…...
python 解析
list(pd.DataFrame) # 所有列名切片:print("显式 切片:\n", df.loc[:, "number":"sum"]) 所有行,列是从number 到sum ,前闭后开print("隐式 切片:\n", df.iloc[:, 1:3]) # 结果和上面一样转化成字典…...
谷歌aab包在Android 14闪退而apk没问题(targetsdk 34)
问题原因 Unity应用(target SDK 34)上线到GooglePlay,有用户反馈fold5设备上(Android14系统)疯狂闪退,经测试,在小米手机Android14系统的版本复现成功了,奇怪的是apk直接安装没问题,而打包成aa…...
34.在排序数组中查找元素的第一个和最后一个位置
34.在排序数组中查找元素的第一个和最后一个位置 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 你必须设计并实现时间复杂度为…...
js树过滤
// 递归过滤得到每一项的hidden为false的数据 function filterTree(arr) { return arr.filter(item > { if (item.children) { item.children filterTree(item.children) } if (!item.hidden) { return true } }) }...
Java多线程并发篇----第十六篇
系列文章目录 文章目录 系列文章目录前言一、线程等待(wait)二、线程睡眠(sleep)三、线程让步(yield)四、线程中断(interrupt)五、Join 等待其他线程终止前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这…...
测评结果:免费的“文心一言3.5”香,但是付费的产品质量更高
文章目录 前言一、文心一言3.5生成的图片和文章1.文心一言生成的图片在文心一言3.5中输入以下内容:我的测评结果: 2.文心一言生成的文章在文心一言3.5中输入以下内容:我的测评结果: 二、ChatGPT生成的图片和文章1.ChatGPT4.0 生成…...
Matlab GUI设计基础范例(可以一步一步跟着做)
我们要做一个GUI界面,可以选择peaks、membrane和sinc三种三维图数据,选择画出surf、mesh和contour三种图像。 打开GUI 每个版本打开方式可能都不一样,但有一个是相同的,就是在命令行输入guide回车。 绘制控件 大概就绘制成这样…...
@Transactional(rollbackFor = {Exception.class})与 @Transactional区别
在Spring框架中,Transactional 注解用于标记方法或类,以表明该方法或类内包含的数据库操作应当在一个事务中执行。事务的基本原则是“原子性”,即所有操作要么全部成功,要么全部失败。 1. Transactional(不指定 rollb…...
数据结构——二叉树(先序、中序、后序及层次四种遍历(C语言版))超详细~ (✧∇✧) Q_Q
目录 二叉树的定义: *特殊的二叉树: 二叉树的性质: 二叉树的声明: 二叉树的先序遍历: 二叉树的中序遍历: 二叉树的后序遍历: 二叉树的层序遍历: 二叉树的节点个数: 二叉…...
如何快速打造属于自己的接口自动化测试框架
1 接口测试 接口测试是对系统或组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。 接口自动化相对于UI自动化来说,属于更底层的测试,这样带来的好处就是测试收益更大ÿ…...
人工智能在数据安全中的应用场景
场景一:数据资产梳理 数据资产梳理是数据安全的基础。知道企业究竟有多少数据,这些数据在哪里?有哪些类型的数据?其中哪些是敏感数据?这些数据的敏感等级分别是什么?只有明确了保护的目标,才能…...
2024.1.16每日一题
LeetCode 2719.统计整数数目 2719. 统计整数数目 - 力扣(LeetCode) 题目描述 给你两个数字字符串 num1 和 num2 ,以及两个整数 max_sum 和 min_sum 。如果一个整数 x 满足以下条件,我们称它是一个好整数: num1 &l…...
python入门,数据容器的通用操作(len,max,min,sorted)
1.len统计容器内元素个数 2.max统计元素最大元素 3.min统计元素最小元素 4.容器的转化功能 list(容器)将给定容器转化为列表 字符串转列表将字符串内的每一个元素都取了出来作为列表的每一个元素 字典则只会取出它的key,value会消失 str&…...
运筹说 第67期 | 动态规划模型的建立与求解
通过前一期的学习,我们已经学会了动态规划的基本概念和基本原理。本期小编带大家学习动态规划模型的建立与求解。 动态规划模型的建立 一 概述 建立动态规划的模型,就是分析问题并建立问题的动态规划基本方程。 成功地应用动态规划方法的关键&#x…...
大模型压缩与优化的技术原理与创新方法
目录 前言1 模型压缩简介2 知识蒸馏3 模型剪枝3.1 结构化剪枝3.2 非结构化剪枝 4 模型量化4.1 浮点表示 vs 定点表示4.2 位数选择与性能影响4.3 量化技术 5 其他模型压缩方法5.1 Weight Sharing: 参数共享5.2 Low-rank Approximation: 低秩分解5.3 Architecture Search: 神经网…...
ConcurrentSkipListMap 深度解析
ConcurrentSkipListMap是Java集合框架中的一员,它实现了ConcurrentNavigableMap接口,基于跳表(Skip List)实现,并提供了高效的并发控制。在本文中,我们将深入研究ConcurrentSkipListMap的底层实现原理、适用…...
Vue学习笔记6--配置代理
一、axios Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。 二、配置代理 1. 方法一 在…...
嵌入式培训机构四个月实训课程笔记(完整版)-C++和QT编程第三天-C++类和对象高级应用(物联技术666)
链接:https://pan.baidu.com/s/1YRXI0WiABUlYaQXQDNfbyA?pwd=1688 提取码:1688 上午:类和对象高级应用(续) 下午:派生和继承 教学内容: 1、友元 类的私有成员只能在类定义的范围内使用,也就是说私有成员只能通过它的成员函数来访问但是,有时候需要在类的外部访问…...
医疗AI模型窃取攻击:原理、风险与超声影像场景的防御实践
1. 项目概述:当医疗AI的“大脑”面临被“复制”的风险在医疗影像领域,尤其是超声诊断,深度学习模型正以前所未有的速度改变着临床实践。它能从看似杂乱的超声回波信号中,精准地量化肝脏脂肪含量、鉴别乳腺肿物的良恶性,…...
明日方舟桌宠Ark-Pets显卡优化配置指南:3步实现流畅桌面动画
明日方舟桌宠Ark-Pets显卡优化配置指南:3步实现流畅桌面动画 【免费下载链接】Ark-Pets Arknights Desktop Pets | 明日方舟桌宠 (ArkPets) 项目地址: https://gitcode.com/gh_mirrors/ar/Ark-Pets Ark-Pets是一款基于《明日方舟》角色模型的桌面宠物软件&am…...
初次使用Taotoken,从注册到发出第一个API请求的全流程耗时记录
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 初次使用Taotoken,从注册到发出第一个API请求的全流程耗时记录 1. 场景与目标 本文旨在记录一名新用户从零开始&#…...
电脑里突然冒出的FNPLicensingService.exe是啥?手把手教你关闭它(附Adobe/CAD/Xshell等软件排查指南)
电脑里突然冒出的FNPLicensingService.exe是啥?手把手教你关闭它(附Adobe/CAD/Xshell等软件排查指南)当你打开任务管理器,突然发现一个陌生的进程FNPLicensingService.exe在后台运行,甚至频繁请求联网,这难…...
Mermaid在线编辑器:5分钟掌握专业图表制作的终极指南
Mermaid在线编辑器:5分钟掌握专业图表制作的终极指南 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-live-editor …...
DeepSeek多租户资源隔离:5大核心机制+3个避坑指南,立即提升SLA至99.99%
更多请点击: https://codechina.net 第一章:DeepSeek多租户资源隔离的架构演进与核心挑战 DeepSeek在支撑大规模AI模型训练与推理服务的过程中,逐步从单租户单集群模式演进为支持数千租户共享基础设施的多租户平台。这一演进并非简单叠加命名…...
公平AI研究的组织协调困境:从技术理想走向工程实践
1. 公平AI研究的十字路口:当技术理想遭遇组织现实如果你最近几年关注过人工智能的新闻,大概率会看到这样的标题:“某招聘算法被曝歧视女性”、“某医疗AI系统对少数族裔诊断准确率显著偏低”。这些并非科幻小说的情节,而是算法偏见…...
【ChatGPT多语言支持权威评测】:基于27种语言、146项指标的实测数据,揭晓真实可用性天花板
更多请点击: https://kaifayun.com 第一章:【ChatGPT多语言支持权威评测】:基于27种语言、146项指标的实测数据,揭晓真实可用性天花板 评测方法论与语言覆盖范围 本次评测严格采用双盲测试协议,覆盖联合国官方语言&a…...
机器学习能耗评估工具对比:芯片传感器与估算模型实战解析
1. 项目概述与背景在AI模型规模日益膨胀、训练成本水涨船高的今天,我们除了关注模型的准确率和F1值,是否也该关心一下它“吃”了多少电?这不仅仅是电费账单的问题,更关乎我们能否在追求技术前沿的同时,践行环境责任。作…...
026、原理图绘制基础:放置元件与连线
026 原理图绘制基础:放置元件与连线 一次“短路”引发的血案 去年接了个返修板,客户说上电就冒烟。拆开一看,电源芯片的SW引脚对地短路,焊盘都烧黑了。查原理图,设计者把两个相邻的电源网络标号写成了“VCC_3V3”和“VCC_3.3V”——一个下划线,一个点。PCB布线时,这两…...
