我有一个按钮事件连接到插槽,如下所示:
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/