Qt开发,有时发现一个窗体多次打开之后,原来绑定的slot被多次执行了。可见是每次打开的时候都调用了绑定的方法。

不管细节如何,先研究一下怎样解绑。方法如下:

//绑定
QMetaObject::Connection conn =
connect(ui->btnUpdZ1, SIGNAL(clicked()),this,SLOT(updateParam()));

//解绑
QObject::disconnect(conn);

实测可以解绑,重新打开窗体之后也只会执行一次slot。