qq_57980876 2021-11-26 00:11 采纳率: 0%
浏览 19

关于QT中connect语句的细节问题

QPushButton * btn = new QPushButton("打开", this);
正常写法:(两个槽都有&)
connect(btn, &QPushButton::clicked, this, &Widget::classisover);

含有lambda表达式的写法:
connect(btn, &QPushButton::clicked, this, 【】(){btn->setText("aaaa")});
ps:英文的方括号和括号连在一起好像显示不出,所以都用中文括号代替
问:此处的lambda表达式为什么前面不用加&

  • 写回答

1条回答 默认 最新

  • 关注

    &是用来取函数的地址,表明输入的是一个函数指针,lambda方式的时候,直接使用函数体作为参数,所以不用加&

    评论

报告相同问题?

问题事件

  • 修改了问题 11月26日
  • 修改了问题 11月26日
  • 创建了问题 11月26日

悬赏问题

  • ¥15 CCF-CSP 2023 第三题 解压缩(50%)
  • ¥100 网页游戏在本地页面修改游戏结果
  • ¥30 comfyui openpose报错
  • ¥20 Wpf Datarid单元格闪烁效果的实现
  • ¥15 图像分割、图像边缘提取
  • ¥15 sqlserver执行存储过程报错
  • ¥100 nuxt、uniapp、ruoyi-vue 相关发布问题
  • ¥15 浮窗和全屏应用同时存在,全屏应用输入法无法弹出
  • ¥100 matlab2009 32位一直初始化
  • ¥15 Expected type 'str | PathLike[str]…… bytes' instead