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

相关推荐
m0_63564748几秒前
pyqt5打包报错:qt.qpa.plugin: Could not load the Qt platform plugin “windows“
开发语言·windows·python·qt·pyqt
Tony Bai2 分钟前
告别“If-Else”地狱:OpenFeature 如何重塑 Go 应用的特性开关管理?
开发语言·后端·golang
kylezhao20194 分钟前
C#连接plc之 Model、DAL、BLL、Common三层架构可扩展
开发语言·c#
代码方舟12 分钟前
不仅是评分:利用 Python 解析天远借贷行为验证API 的 T0-T11 借贷时间轴数据
大数据·开发语言·python
夜泉_ly20 分钟前
期末速通 -Java程序设计基础 -理论
java·开发语言
m0_6113493126 分钟前
什么是副作用(Side Effects)
开发语言·前端·javascript
妮妮分享35 分钟前
维智地图如何集成
开发语言·ios·swift
weixin_4397062542 分钟前
如何使用JAVA进行MCP服务创建以及通过大模型进行调用
java·开发语言
执笔论英雄43 分钟前
[RL]协程asyncio.CancelledError
开发语言·python·microsoft
A242073493044 分钟前
深入理解JS DOM:从基础操作到性能优化的全面指南
开发语言·javascript·ecmascript