Qt解决槽函数中发送的信号的参数会变化带来的错误

connect(item, &MusicItemWidget::playRequest, this, [this] {
emit playMusic(QUrl(this->m_mediaPath);
);

如上图,this->m_mediaPath是个成员变量,但自己的初衷是发送一个最开始捕获的值,那么可以使用下面的方法:

QString fixedMediaPath = this->m_mediaPath; // 捕获当前的 m_mediaPath
connect(item, &MusicItemWidget::playRequest, this, [fixedMediaPath, this] {
emit playMusic(QUrl(fixedMediaPath));
});

相关推荐
再睡一夏就好3 分钟前
【C++闯关笔记】unordered_map与unordered_set的底层:哈希表(哈希桶)
开发语言·c++·笔记·学习·哈希算法·散列表
potato_15549 分钟前
现代C++核心特性——内存篇
开发语言·c++·学习
lly20240610 分钟前
C# 继承
开发语言
August_._11 分钟前
【JAVA】基础(一)
java·开发语言·后端·青少年编程
软件开发技术深度爱好者35 分钟前
Python类中方法种类介绍
开发语言·python
麦麦鸡腿堡35 分钟前
Java_LinkedList底层结构
java·开发语言
whatever who cares43 分钟前
android/java中gson的用法
android·java·开发语言
周杰伦fans1 小时前
C# 中 Entity Framework (EF) 和 EF Core 里的 `AsNoTracking` 方法
开发语言·c#
小灰灰搞电子1 小时前
Rust Slint实现控件尺寸的扩展与收缩源码分享
开发语言·后端·rust
☆cwlulu1 小时前
git分支管理详解
开发语言·git·青少年编程