我制作了一个支持全屏的小型视频应用程序。播放视频时,我可以按下视频控制器中的按钮,应用程序将变为全屏。力量的事情是,当我处于全屏状态时,按钮仍然以某种方式具有这种焦点,当我移动到它上面时,它认为我按下了(即使我没有用鼠标在按钮上,按钮的悬停也处于活动状态(当我按下按钮后不移动鼠标时,这种行为以无休止的全屏方式结束
我在Qt4中遇到了类似的问题,但是在这里鼠标悬停仅在推送后才处于活动状态
所以也许有人知道这里发生了什么,在Qt错误列表中找不到任何东西
乔治
这是一个错误还是预期的行为,但是您可以尝试通过多种方式解决此问题。在每次更改窗口大小时调用的槽中,调用以下一个或多个QPushButton
方法:
clearFocus()
- 这应该使按钮停止接收键盘/鼠标输入;releaseKeyboard()
和releaseMouse()
也应该有效地这样做;
如果您在全屏模式下不需要该按钮,您也可以简单地让它完全停止接收任何用户输入:
禁用它 (
setEnabled(false)
(;通过调用
setVisible(false)
使其不可见(不可见的小部件不接收键盘/鼠标输入(;disconnect()
按钮,从而使其停止接收任何信号,并在关闭全屏模式后再次connect()
。