我正在试验基于设计器的Qt用户界面。设计器UI的功能之一是,如果小部件插槽遵循特殊的名称模式(“on _...”),它们将自动连接。
但是,似乎一建立UI就建立了连接。我不希望这种情况发生。我想在加载后以编程方式修改UI,而不会得到不必要的插槽调用。
因此,是否可以显式控制何时建立这些连接,即何时调用connectSlotsByName()?
最佳答案
您可以使用QObject::blockSignals
阻止不必要的信号一段时间,
像这样:
widget->blockSignals(true);
//do work
widget->blockSignals(false);
您也可以先 call
disconnect
,再 call connect
以获得特定信号。