执行开始时按下连接键

Key Press Connect at Start of Execution

我有一个包含 PyQt5 的 Python 3.6.3 脚本。 GUI 有一个按钮可以切换视频文件的播放和暂停。按空格键也可以切换播放和暂停。该按钮始终可以正常工作。空格键也按预期工作,除了在执行脚本的一开始。在 spacebar 正确触发暂停或播放视频的信号之前,我需要先单击一些其他事件(例如按钮或滑块)。我想在脚本启动时使用 spacebar 开始播放视频。以下是我如何在同一个 __init__(self) 函数中创建连接。如您所见,单击按钮并按下 spacebar 都将信号连接到相同的函数 (self.pauseVideo)。

self.btnPause = QtWidgets.QPushButton(self.centralwidget)
self.btnPause.clicked.connect(self.pauseVideo)

self.spacebar = QShortcut(QKeySequence(Qt.Key_Space), self)
self.spacebar.activated.connect(self.pauseVideo)

关于如何让 spacebar 在脚本首次启动时触发信号的建议?

经过大量搜索、重新分配键盘快捷键(未成功)等,我找到了这个 post PyQt widget keyboard focus。我插入了

self.setFocusPolicy(Qt.StrongFocus)

变成 __init__(self) 似乎解决了我的问题!现在我只希望它不会引起其他问题。