当前位置: 代码迷 >> QT开发 >> connect 后,可否临时时禁止发信号
  详细解决方案

connect 后,可否临时时禁止发信号

热度:39   发布时间:2016-04-25 04:04:45.0
connect 后,能否临时时禁止发信号?
我已经对某个控件进行了 connect , 绑定到一个槽上。

但是我现在需要对这个控件进行写操作,在这个过程中,我不希望它发信号。

等我写完操作后再发信号,这时有没有什么简单的方法 disabled / enabled 一下呢?

还是一定要 disconnect 后,重新 connect  ?

------解决方案--------------------
disconnect 
------解决方案--------------------
貌似只能这样了:要 disconnect 后,重新 connect 

这样和你说的disabled / enabled  也没差吧  效果差不多吧
------解决方案--------------------
试试这个:bool QObject::blockSignals ( bool block )
------解决方案--------------------
ui->lineEdit->blockSignals(true);
ui->lineEdit->setText("dddd");
ui->lineEdit->blockSignals(false);
------解决方案--------------------
引用:
ui->lineEdit->blockSignals(true);
ui->lineEdit->setText("dddd");
ui->lineEdit->blockSignals(false);

楼上正解,使用blockSignals设置
  相关解决方案