意外调用一个插槽

时间:2014-04-30 19:50:42

标签: c++ qt

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

myButton = new QPushButton();
myButton->setText("Connect");
myButton->setFocus();
connect(myButton,SIGNAL(released()),this, SLOT(doStuff()));

当我运行程序时,如果我右键单击按钮" Connect",则会按预期调用doStuff()函数。

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

修改的: 我想在空格键释放信号上调用其他一些插槽。我怎样才能解决这个问题?通过删除焦点?

1 个答案:

答案 0 :(得分:3)

您基本上可以删除setFocus(),或者您需要实现按键事件。看一下这些[1][2]个帖子。