QT中currentindexchanged(int) 触发信号的屏蔽与开启

我在使用qt的commbox控件进行值改变,从而触发信号时,不同的动作也会导致currentindexchanged 触发信号,导致其他控件就会接收到不想要的信号,导致控件功能失效。

1:比如:在对该qcombobox进行添加内容;删除内容;点击不同id进入新的页面时,由于qcombobox的读取数据库已经发生了改变,这个时候就已经触发 了currentindexchanged 信号,从而引起currentindexchanged(int )函数的动作,做出一系列功能。但是此时的函数调用是不必要的,所以在进行以上的动作时,要屏蔽currentindexchanged发出的信号。等修改,增加,进入新的页面后,在开启currentindexchanged的信号发射。

3:怎么做:假如QCombobox的ui名为 mingzi_value

       (1) 那么  ui->mingzi_value->blockSignals(true);  这个命令就把 ui->mingzi_value发出的信号屏蔽了,此刻就系统就检测不到ui->mingzi_value 对应的 currentindexchanged信号。

       (2)在完成修改,添加后,ui->mingzi_value->blockSignals(false);就把信号打开,可以接收到信号,  currentindexchanged()函数就可以继续实现该功能。

以上为对这个功能的理解,欢迎大家讨论。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值