如何从QToolButton中删除空格键操作

如何从QToolButton中删除空格键操作,qt,Qt,我有一个QToolBar,上面有一个QToolButton。当通过鼠标单击按下QToolButton时,它将执行一些操作。按下空格键时执行相同的操作。我不希望在空格键按下时触发该操作,但我希望在鼠标单击时触发。如何做到这一点?使用继承和重写来为QToolButton子类QWidget::keyPressEvent()。在那里,检查您得到的密钥是否是Qt::key\u Space,如果是,返回并不执行任何操作。如果没有,则将事件传递给QToolButton。使用继承和重写来为QToolButton

我有一个QToolBar,上面有一个QToolButton。当通过鼠标单击按下QToolButton时,它将执行一些操作。按下空格键时执行相同的操作。我不希望在空格键按下时触发该操作,但我希望在鼠标单击时触发。如何做到这一点?

使用继承和重写来为QToolButton子类
QWidget::keyPressEvent()
。在那里,检查您得到的密钥是否是
Qt::key\u Space
,如果是,返回并不执行任何操作。如果没有,则将事件传递给QToolButton。

使用继承和重写来为QToolButton子类化
QWidget::keyPressEvent()
。在那里,检查您得到的密钥是否是
Qt::key\u Space
,如果是,返回并不执行任何操作。如果没有将事件传递给QToolButton。

确保没有意外地将“空格”指定为与相关QToolButton关联的操作的快捷方式(请查看Qt Creater的操作编辑器)。

确保没有意外地将“空格”指定为与相关QToolButton关联的操作的快捷方式(检查Qt Creater的操作编辑器)。

使用“设置焦点”策略,而不带焦点,这会阻止键盘聚焦,但仍允许鼠标单击

Button->setFocusPolicy(Qt::NoFocus)

在无焦点的情况下使用设置焦点策略,这样可以防止键盘有焦点,但仍允许鼠标单击

Button->setFocusPolicy(Qt::NoFocus)