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));
});

相关推荐
星空椰6 分钟前
jvms Java 版本管理工具
java·开发语言
REDcker16 分钟前
C++ 崩溃堆栈捕获库详解
linux·开发语言·c++·tcp/ip·架构·崩溃·堆栈
qq_4061761427 分钟前
JavaScript闭包:从底层原理到实战
开发语言·前端·javascript
沐知全栈开发28 分钟前
`.toggleClass()` 方法详解
开发语言
Rysxt_30 分钟前
鸿蒙开发语言ArkTS全面介绍
开发语言·华为·harmonyos
三天不学习33 分钟前
【入门教学】Python包管理与pip常用包
开发语言·python·pip
沐知全栈开发43 分钟前
桥接模式(Bridge Pattern)
开发语言
问道飞鱼1 小时前
【Rust开发知识】Actix-web 开发环境搭建完整教程
开发语言·前端·rust·actix-web
froginwe111 小时前
SQLite 触发器
开发语言
争不过朝夕,又念着往昔1 小时前
C++AI
开发语言·c++·人工智能