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

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


当我运行程序时,如果我右键单击“连接”按钮,这将按预期调用doStuff()函数。

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

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

最佳答案

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

关于c++ - 插槽意外调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23396859/

10-13 08:34