要在 PyQt5 中为 QPushButton 添加键盘事件响应,您需要重新实现 keyPressEvent
方法。以下是一个示例:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton
class CustomButton(QPushButton):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
def keyPressEvent(self, event):
print("Key pressed: ", event.key())
# 在这里添加您想要执行的操作
super().keyPressEvent(event)
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
self.setGeometry(300, 300, 400, 200)
layout = QVBoxLayout()
button1 = CustomButton("Button 1")
button2 = CustomButton("Button 2")
layout.addWidget(button1)
layout.addWidget(button2)
self.setLayout(layout)
if __name__ == "__main__":
app = QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
sys.exit(app.exec_())
在这个示例中,我们创建了一个名为 CustomButton
的自定义按钮类,该类继承自 QPushButton
。我们重写了 keyPressEvent
方法,当用户按下按钮时,将打印出按下的键。您可以根据需要在此方法中添加其他操作。
然后,我们创建了一个包含两个自定义按钮的主窗口。当您运行此程序并按下按钮时,将看到控制台输出按下的键。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1133665.html