-2

我想提请您注意一个细节,这对于 Qt 中的高级人员来说可能是荒谬的”,但对于像我这样的新手来说却不是。

我想在用户没有按下指定的按钮 B 时将按钮连接到信号/插槽:

我想做的是:

do
{
        QObject::connect(pushButton_image, SIGNAL(clicked()), this, SLOT(image()))
}
while (// THE USER DIDN'T PRESS THE PUSHBUTTON B ...)

一旦用户按下 PUSHBUTTON B,我想断开 pushButton_image 与其前一个信号/插槽的连接。

谢谢!

4

1 回答 1

2

连接一次,即刻结束。

这是错误的,因为:您可以多次将插槽连接到信号。但是当你连接它时,它会被调用很多次。

你不会摆脱那个while循环。

只要断开连接,插槽就会连接。正在连接它更像是一个活动任务的状态。

要断开连接,请使用

QObject::disconnect

在插槽调用中

QObject::disconnect(pushButton_image, SIGNAL(clicked()), this, SLOT(image()))

完毕

于 2013-05-07T17:06:58.573 回答