当信号带有参数时,lambda函数可以接收这些参数并进行处理。下面是一个示例:
#include <QObject>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget window;
QPushButton button("Click me!", &window);
QObject::connect(&button, &QPushButton::clicked, [&](bool checked) {
qDebug() << "Button clicked! Checked: " << checked;
// 在这里编写你希望执行的逻辑
});
window.show();
return app.exec();
}
在上述示例中,我们将QPushButton的clicked信号与一个接受bool类型参数的lambda函数连接起来作为槽函数。每次按钮被点击时,lambda函数会被调用,并将按钮是否被选中作为参数传递给该函数。
你可以根据需要定义和使用不同类型的信号和槽参数,以适应具体的情况。
内容由零声教学AI助手提供,问题来源于学员提问