C++ 插槽被意外调用

C++ 插槽被意外调用,c++,qt,C++,Qt,我有一个按钮的事件连接到插槽,如下所示: myButton = new QPushButton(); myButton->setText("Connect"); myButton->setFocus(); connect(myButton,SIGNAL(released()),this, SLOT(doStuff())); 当我运行程序时,如果我右键单击按钮“Connect”,这将按预期调用doStuff()函数 但是,当我按下并释放空格键时,也会调用此插槽。这是不需要的,因为我想

我有一个按钮的事件连接到插槽,如下所示:

myButton = new QPushButton();
myButton->setText("Connect");
myButton->setFocus();
connect(myButton,SIGNAL(released()),this, SLOT(doStuff()));
当我运行程序时,如果我右键单击按钮“Connect”,这将按预期调用
doStuff()
函数

但是,当我按下并释放空格键时,也会调用此插槽。这是不需要的,因为我想将另一个插槽连接到空格键按下事件。我不相信我有任何其他信号连接到“doStuff”。我错过什么了吗?为什么会发生这种情况

编辑:
我想在空格键释放信号时调用其他插槽。我怎样才能解决这个问题?通过移除焦点

基本上可以删除
setFocus()
或者需要实现按键事件。看看这些线程。

您基本上可以删除
setFocus()
,或者您需要实现按键事件。看看这些线程。

您基本上可以删除
setFocus()
,或者您需要实现按键事件。看看这些线程。

您基本上可以删除
setFocus()
,或者您需要实现按键事件。看看这些线程。

可能您已经将焦点放在了该按钮上,当您点击空格键时,它会自动发出该按钮的释放信号?嗯,不可能,您已经调用了setFocus()@guneykayim,谢谢。是的,有焦点,我认为这可能是一个重要的细节,这就是为什么我在代码示例中包含了它。但是如果我不想要这种行为呢?我应该把焦点从按钮上移开吗?也许你已经把焦点放在了那个按钮上,当你点击空格键时,它会自动发出按钮的释放信号?嗯,不可能,你已经调用了setFocus()@guneykayim谢谢。是的,有焦点,我认为这可能是一个重要的细节,这就是为什么我在代码示例中包含了它。但是如果我不想要这种行为呢?我应该把焦点从按钮上移开吗?也许你已经把焦点放在了那个按钮上,当你点击空格键时,它会自动发出按钮的释放信号?嗯,不可能,你已经调用了setFocus()@guneykayim谢谢。是的,有焦点,我认为这可能是一个重要的细节,这就是为什么我在代码示例中包含了它。但是如果我不想要这种行为呢?我应该把焦点从按钮上移开吗?也许你已经把焦点放在了那个按钮上,当你点击空格键时,它会自动发出按钮的释放信号?嗯,不可能,你已经调用了setFocus()@guneykayim谢谢。是的,有焦点,我认为这可能是一个重要的细节,这就是为什么我在代码示例中包含了它。但是如果我不想要这种行为呢?我应该把焦点从按钮上移开吗?