qt 信号槽 lambda
时间: 2023-10-25 20:11:03 浏览: 130
Qt信号和槽
Qt中的信号和槽是一种用于对象间通信的机制。自定义信号和槽函数需要满足一些要求:
- 信号函数需要在`signals`关键字下声明,返回值为`void`,可以有任意参数和重载。
- 槽函数返回值为`void`,不需要写在`public slots:`下,可以在任意位置声明和实现。
- 在自定义信号和槽时使用`connect`函数进行连接。
在Qt5之后,`connect`的语法有所变化,可以使用新的语法:
```
connect(sender, &Sender::signal, receiver, &Receiver::slot);
```
也可以使用带有`SIGNAL`和`SLOT`标识的旧的语法:
```
connect(sender, SIGNAL(signal), receiver, SLOT(slot));
```
此外,还可以使用lambda表达式来定义槽函数。
阅读全文