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

关于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日