当使用connect将QPushButton绑定到某一个lambda表达试中,如果要使用一次,可以在触发后使用disconnect(btnCheck, &QToolButton::clicked, this, nullptr); 值得注意的是 lambda表达式中的参数this在这种情况下不能省略,否则无法成功使用disconnect
connect(btnCheck, &QToolButton::clicked,this, [=]() {
if(!comm->tempFileName.isEmpty())
{
strcpy(reinterpret_cast<char*>(addr), comm->tempFileName.toStdString().c_str());
L->setText(comm->tempFileName);
}
disconnect(btnCheck, &QToolButton::clicked, this, nullptr);
});