我正在尝试使用基于设计器的Qt用户界面。设计器UI的一个功能是,如果小部件插槽遵循特殊的名称模式("在_..."上),则自动连接小部件插槽。
然而,一旦设置了UI,似乎就建立了连接。我不希望这种情况发生。我想在加载后以编程方式修改UI,而不会获得不必要的插槽调用。
那么,是否可以显式控制何时建立这些连接,即何时调用connectSlotsByName()?
答案 0 :(得分:3)
您可以使用QObject::blockSignals
阻止不必要的信号一段时间,
像这样:
widget->blockSignals(true);
//do work
widget->blockSignals(false);
您也可以拨打disconnect
,然后拨打connect
以获取特定信号。