python - 如何阻止空格键在 PyQt5 中触发聚焦的 QPushButton?
解决方案
如果您想要触发按钮的任何键盘事件,那么只需实现一个事件过滤器:
import sys
from PyQt5 import QtCore, QtWidgets
class Listener(QtCore.QObject):
def __init__(self, button):
super().__init__(button)
self._button = button
self.button.installEventFilter(self)
@property
def button(self):
return self._button
def eventFilter(self, obj, event):
if obj is self.button and event.type() == QtCore.QEvent.KeyPress:
return True
return super().eventFilter(obj, event)
App = QtWidgets.QApplication(sys.argv)
w = QtWidgets.QWidget()
lay = QtWidgets.QVBoxLayout(w)
btn = QtWidgets.QPushButton()
lay.addWidget(btn)
w.show()
btn.clicked.connect(print)
listener = Listener(btn)
sys.exit(App.exec())
推荐阅读
- python - 将 .py 文件预加载到 python 3 环境中
- sql - oracle base 64解码为clob
- python-3.x - 如何将看不见的数据传入多标签分类器
- com - IUnknown(IXRApplication) 上的 AddRef 崩溃
- javascript - 二维码base64字符串
- amazon-web-services - ssh_exchange_identification:读取:对等 AWS 重置连接
- java - 如何在不停止整个程序的情况下在java中等待
- python - tensorflow 1.8 版中 tf.contrib.seq2seq.prepare_attention() 的替代方案
- vuex - Vuex 如何在传输读取中将存储绑定到 KendoUi-Vue Grid
- reactjs - React/Jest 错误:无法识别导入的函数