pyQt6键盘事件枚举方法
修饰键:
Qt.KeyboardModifier.ControlModifier
普通健:
Qt.Key.Key_A
例子:
import sys
from PyQt6.QtWidgets import *
from PyQt6.QtCore import QEvent,Qt
# from PyQt6.QtGui import *
# print(dir(QEvent))
class App(QApplication):
def notify(self, recevier, evt):
if (recevier.inherits("QPushButton") and evt.type() == QEvent.Type.MouseButtonPress):
print(recevier,evt)
return super().notify(recevier, evt)
class Btn(QPushButton):
def event(self, evt):
if evt.type() == QEvent.Type.MouseButtonPress:
print(evt)
return super().event(evt)
def mousePressEvent(self, *args, **kwargs):
print("鼠标被按下了......")
return super().mousePressEvent(*args, **kwargs)
class My_widget(QWidget):
def showEvent(self, a0):
print("窗口打开了")
def closeEvent(self, a0):
print("窗口关闭了")
def moveEvent(self, a0):
print("窗口移动了")
def resizeEvent(self, a0):
print("窗口尺寸变了")
def enterEvent(self, event):
print("鼠标进来了")
def leaveEvent(self, a0):
print("鼠标离开了")
def mouseDoubleClickEvent(self, a0):
print("鼠标双击了")
def keyPressEvent(self, a0):
if a0.modifiers() == Qt.KeyboardModifier.ControlModifier | Qt.KeyboardModifier.AltModifier and a0.key() == Qt.Key.Key_A:
print("按了ctrl+alt+a")
# print(a0.modifiers())
app = App(sys.argv)
window = My_widget()
btn = Btn(window)
btn.setText("按钮")
btn.move(100, 100)
def cao():
print("按钮被点击了")
btn.pressed.connect(cao)
window.show()
sys.exit(app.exec())
