在 Qt 使用 C++11 引入的 lambda 表达式来简化信号与槽的连接已经成为一种不错的选择。本文将通过一个简单的例子来展示如何使用 lambda 表达式来连接 QAction
的信号与槽。
传统的连接方式
首先,看看传统的连接方式:
QAction* action = foo->addAction(tr("Some Action"));
connect(action, SIGNAL(triggered()), this, SLOT(onSomeAction()));
这里,我们使用了经典的 connect
方法来连接 QAction
的 triggered()
信号到 onSomeAction
槽函数。onSomeAction
的实现如下:
void MyClass::onSomeAction()
{