据我所知,要将信号连接到插槽,信号的参数需要与插槽的参数匹配。因此,例如:

connect(dockWidget->titleBarWidget(), SIGNAL(closeButtonClicked()), ui->sideControls, SLOT(closeDockWidget()));

但是,如果我想让一个信号调用一个插槽,该插槽具有不同数量的参数,但始终将恒定值传递到插槽中,该怎么办?例如,使用上面的代码:
connect(dockWidget->titleBarWidget(), SIGNAL(closeButtonClicked()), ui->sideControls, SLOT(setDockWidget(false)));

换句话说,每当按下按钮时,它将使用false参数调用setDockWidget()函数。这可能吗?

最佳答案

不,不可能。仅允许连接数量少于或等于相应信号数量的插槽。 (请参阅documentation)

您必须创建代理插槽,该插槽将调用所需的插槽。

关于c++ - 将信号连接到具有恒定值的插槽,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9861919/

10-11 22:58
查看更多