Lambda 表达式
2025/6/12小于 1 分钟
Lambda 表达式
Lambda 表达式是一个匿名函数,它定义在 [] 中并且可以捕获外部变量。在 Qt 中,它可以作为槽函数传递给 connect,非常简洁。
[=]() {
QMessageBox::information(this, "Triggered", "我是菜单项, 你不要调戏我...");
}[=]:表示捕获外部作用域中的所有变量(包括 this 指针)以值捕获的方式传递给 Lambda 函数。通过这种方式,Lambda 表达式内部可以使用外部的变量(如 this 指针来调用 QMessageBox)。
通过使用 Lambda 表达式,你可以在 connect() 中直接编写槽函数,简化代码。这种方法特别适合一些简单的、一次性的信号处理逻辑。

