【python】PyQt5事件传递,鼠标动作捕获,键盘按键捕获原理与应用实战
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget
from PyQt5.QtCore import Qt
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setCentralWidget(CustomWidget(self))
self.show()
class CustomWidget(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.setFocusPolicy(Qt.StrongFocus)
def mousePressEvent(self, event):
print("鼠标点击事件捕获:", event)
def mouseMoveEvent(self, event):
print("鼠标移动事件捕获:", event)
def keyPressEvent(self, event):
print("键盘按键事件捕获:", event)
def main():
app = QApplication([])
window = MainWindow()
app.exec_()
if __name__ == '__main__':
main()
这段代码演示了如何在PyQt5中创建一个窗口和一个自定义控件,并在这个控件中重写鼠标点击、移动和键盘按键事件处理函数,以便捕获并处理这些事件。当用户在控件上进行这些操作时,相关的事件信息会被打印到控制台。这对于理解事件传递和捕获的原理非常有帮助。
评论已关闭