介绍
使用
#include <VBlockSignals.h>
功能
VBlockSignals(QWidget * obj);
// 冻结所有信号
void block(bool bBlock = true);
实例
VBlockSignals对象创建,将会冻结组件的所有信号,函数结束,VBlockSignals对象的生命周期结束,自动恢复所有信号。也可以通过 block(false)
手动恢复。
//信号槽关联
connect(ui->listWidget_block, SIGNAL(currentTextChanged(QString)),
this, SLOT(onTestBlock(QString)));
void onTestBlock(const QString &title)
{
//槽函数
qDebug() << title;
}
void onTest()
{
VBlockSignals block(ui->listWidget_block); //可以通过注释这句,来查看VBlockSignals的作用
ui->listWidget_block->clear();
for ( int n = 0; n < 100; ++n) {
ui->listWidget_block->addItem(QString("Item - %1").arg(n));
ui->listWidget_block->setCurrentRow(n);
}
}