From 56fdcd9114ad09631b752d18e227b63c9bdcfb94 Mon Sep 17 00:00:00 2001 From: Toast Date: Mon, 21 Oct 2024 11:07:05 +0200 Subject: [PATCH] Add mouse events --- src/leek/leek.py | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/src/leek/leek.py b/src/leek/leek.py index 9c93f47..0c79c4d 100644 --- a/src/leek/leek.py +++ b/src/leek/leek.py @@ -1,6 +1,6 @@ import sys -from PySide6.QtCore import QSize +from PySide6.QtCore import Qt, QSize from PySide6.QtWidgets import ( QApplication, QLabel, @@ -20,6 +20,7 @@ class leekMainWindow(QMainWindow): self.setWindowTitle("Leek!") self.label = QLabel() + self.mouse_label = QLabel() self.input = QLineEdit() self.input.textChanged.connect(self.label.setText) @@ -32,6 +33,7 @@ class leekMainWindow(QMainWindow): layout = QVBoxLayout() layout.addWidget(self.input) layout.addWidget(self.label) + layout.addWidget(self.mouse_label) layout.addWidget(button) self.setMaximumSize(QSize(800, 600)) @@ -49,6 +51,39 @@ class leekMainWindow(QMainWindow): def button_toggled(self, checked): print("Checked?", checked) + def mouseMoveEvent(self, e): + self.mouse_label.setText("mouseMoveEvent") + + def mousePressEvent(self, e): + button = "" + if e.button() == Qt.MouseButton.LeftButton: + button = "left" + elif e.button() == Qt.MouseButton.MiddleButton: + button = "middle" + elif e.button() == Qt.MouseButton.RightButton: + button = "right" + self.mouse_label.setText("mousePressEvent " + button) + + def mouseReleaseEvent(self, e): + button = "" + if e.button() == Qt.MouseButton.LeftButton: + button = "left" + elif e.button() == Qt.MouseButton.MiddleButton: + button = "middle" + elif e.button() == Qt.MouseButton.RightButton: + button = "right" + self.mouse_label.setText("mouseReleaseEvent " + button) + + def mouseDoubleClickEvent(self, e): + button = "" + if e.button() == Qt.MouseButton.LeftButton: + button = "left" + elif e.button() == Qt.MouseButton.MiddleButton: + button = "middle" + elif e.button() == Qt.MouseButton.RightButton: + button = "right" + self.mouse_label.setText("mouseDoubleClickEvent " + button) + def main(): # If you know you won't use command line arguments QApplication([]) works too.