QPushButton 错误在 QT5 下,同时推动在 macOS 上进入全屏

QPushButton bug under QT5 while pushing to go to fullscreen on macos

本文关键字:macOS QT5 错误 QPushButton      更新时间:2023-10-16

我制作了一个支持全屏的小型视频应用程序。播放视频时,我可以按下视频控制器中的按钮,应用程序将变为全屏。力量的事情是,当我处于全屏状态时,按钮仍然以某种方式具有这种焦点,当我移动到它上面时,它认为我按下了(即使我没有用鼠标在按钮上,按钮的悬停也处于活动状态(当我按下按钮后不移动鼠标时,这种行为以无休止的全屏方式结束

我在Qt4中遇到了类似的问题,但是在这里鼠标悬停仅在推送后才处于活动状态

所以也许有人知道这里发生了什么,在Qt错误列表中找不到任何东西

乔治

我不知道

这是一个错误还是预期的行为,但是您可以尝试通过多种方式解决此问题。在每次更改窗口大小时调用的槽中,调用以下一个或多个QPushButton方法:

  1. clearFocus() - 这应该使按钮停止接收键盘/鼠标输入;

  2. releaseKeyboard()releaseMouse()也应该有效地这样做;

如果您在全屏模式下不需要该按钮,您也可以简单地让它完全停止接收任何用户输入:

  1. 禁用它 ( setEnabled(false) (;

  2. 通过调用setVisible(false)使其不可见(不可见的小部件不接收键盘/鼠标输入(;

  3. disconnect()按钮,从而使其停止接收任何信号,并在关闭全屏模式后再次connect()