1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Qt中解除按键在聚焦时键盘空格键可以控制

Qt中解除按键在聚焦时键盘空格键可以控制

时间:2019-12-13 19:13:20

相关推荐

Qt中解除按键在聚焦时键盘空格键可以控制

Qt中解除按键在聚焦时键盘空格键可以控制,只允许鼠标左键可以点击按键

首先需要知道原因,为什么键盘上的空格键也可以点击按键?

根据Qt官网说明:A push button emits the signal clicked() when it is activated by the mouse, the Spacebar or by a keyboard shortcut.

QPushButton默认按空格键也会触发clicked()信号。实际就是QPushButton与键盘空格键事件绑定了,QPushButton接受了键盘事件,导致按下空格键相当于点击了QPushButton

这一点在ui文件中的QPushButton的默认属性是强聚焦可以看出来

用户使用键盘上的Tab键或者鼠标左键点击QPushButton按键,把焦点聚集到按钮时,再按下空格就相当于点击了按钮。

解决办法

把按钮的focusPolicy属性,设置为NoFocus,即调用QPushButton的setFocusPolicy()函数:

setFocusPolicy(Qt::NoFocus);

这样该按钮就无法接收键盘事件了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。