当组合框为空时,不应触发组合框连接信号

combo box connect signal should not be triggered when the combo box is empty

我已将组合框连接到 currentIndexChanged 值上的插槽。

我面临的问题是,当我从组合框中清除所有项目时,事件也会被触发。

每当我从组合框中清除所有项目时,我不想执行该函数。

我想的是当组合框的元素数为 0 时添加一个 if 条件,但我在组合框中找不到任何成员函数 return 元素数在组合框中。

如果有更好的方法,请告诉我。

 connect(comboBoxFunctions, qOverload<int>(&QComboBox::currentIndexChanged), 
 this, &WavefrontRenderer::AddContainerFunctionProperty);

一个简单的解决方案是在清理 QComboBox 时用 blockSignals() 阻止信号:

comboBoxFunctions->blockSignals(true);
comboBoxFunctions->clear();
comboBoxFunctions->blockSignals(false);