【问题标题】:combo box connect signal should not be triggered when the combo box is empty组合框为空时不应触发组合框连接信号
【发布时间】:2019-09-01 05:08:16
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: c++ qt qt5 qcombobox


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2015-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多