问题描述:
最近用户反映一个问题,就是机器运行中途会立即停止。我们反复查了日志,发现只可能是用户点击了“立即停止”按钮,而用户一口咬定他没有点击该按钮。
原因分析:
经过我们的深入了解,发现用户很喜欢用键盘的Tab按钮和空格按钮。
而ui文件中的QPushButton默认是强聚焦的:
用户使用键盘上的Tab按键,把焦点聚集到“立即停止”按钮时,再按下控格就相当于点击了“立即停止”。
解决方法:
为避免误触问题再次发生,我们把按钮的focusPolicy属性,设置为NoFocus,即调用QPushButton的setsetFocusPolicy()函数:
setFocusPolicy ( Qt::NoFocus );
这样该按钮就无法接收键盘事件了。