如题:
connect(loginBtn, &QPushButton::pressed, this, [=]() {
emit loginSignal();
loginBtn->setEnabled(false); //设置为禁用状态
QTimer::singleShot(1000, this, &LoginWidget::setEnabledSlot); // 1000ms后调用setEnabledSlot方法设为可用状态
});
void LoginWidget::setEnabledSlot()
{
loginBtn->setEnabled(true);
}
利用拉姆达表达式
QTimer::singleShot(1000, this, [=]()
{
loginBtn->setEnabled(true);
});
这篇博客介绍了如何在Qt环境中利用拉姆达表达式来处理按钮点击事件,实现按钮被点击后立即禁用,并在1秒后自动恢复启用的功能。通过QTimer的singleShot方法结合拉姆达表达式,实现了简洁的定时恢复按钮状态的逻辑。
2万+





