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