我有一个包含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
触发信号的建议?
答案 0 :(得分:0)
经过更多搜索,重新分配键盘快捷键(没有成功)等,我发现了这篇文章PyQt widget keyboard focus。我插了
self.setFocusPolicy(Qt.StrongFocus)
进入__init__(self)
它似乎解决了我的问题!现在我只是希望它不会引起其他问题。