diff --git a/package/PartSeg/common_gui/__init__.py b/package/PartSeg/common_gui/__init__.py index dd2985766..423599e38 100644 --- a/package/PartSeg/common_gui/__init__.py +++ b/package/PartSeg/common_gui/__init__.py @@ -1,3 +1,3 @@ """ -THis module contains Qt based widgets which are used in all PartSeg subprograms +This module contains Qt-based widgets which are used in all PartSeg subprograms """ diff --git a/package/PartSeg/common_gui/qt_util.py b/package/PartSeg/common_gui/qt_util.py index 7930b559a..e7ac27e0c 100644 --- a/package/PartSeg/common_gui/qt_util.py +++ b/package/PartSeg/common_gui/qt_util.py @@ -19,4 +19,4 @@ def get_mouse_x(event: QMouseEvent) -> float: return event.position().x() def get_mouse_y(event: QMouseEvent) -> float: - return event.position().x() + return event.position().y() diff --git a/package/tests/test_PartSeg/test_common_gui.py b/package/tests/test_PartSeg/test_common_gui.py index cac895f8b..23458128c 100644 --- a/package/tests/test_PartSeg/test_common_gui.py +++ b/package/tests/test_PartSeg/test_common_gui.py @@ -20,8 +20,8 @@ from magicgui.widgets import Container, Widget, create_widget from napari.utils import Colormap from pydantic import Field -from qtpy.QtCore import QPoint, QRect, QSize, Qt -from qtpy.QtGui import QPaintEvent +from qtpy.QtCore import QEvent, QPoint, QPointF, QRect, QSize, Qt +from qtpy.QtGui import QMouseEvent, QPaintEvent from qtpy.QtWidgets import ( QApplication, QCheckBox, @@ -94,6 +94,7 @@ MultipleLoadDialog, ) from PartSeg.common_gui.qt_modal import QtPopup +from PartSeg.common_gui.qt_util import get_mouse_x, get_mouse_y from PartSeg.common_gui.searchable_combo_box import SearchComboBox from PartSeg.common_gui.show_directory_dialog import DirectoryDialog from PartSeg.common_gui.universal_gui_part import ( @@ -2050,3 +2051,17 @@ def test_accept(self, qtbot, base_settings, tmp_path, monkeypatch): w.accept() assert base_settings.get_path_history() assert Path(base_settings.get("s_path")).resolve() == (tmp_path / "sample_dir").resolve() + + +@pytest.mark.usefixtures("qapp") +def test_get_mouse_position(): + event = QMouseEvent( + QEvent.Type.MouseButtonPress, + QPointF(10, 20), + QPointF(20, 30), + Qt.MouseButton.LeftButton, + Qt.MouseButton.LeftButton, + Qt.KeyboardModifier.NoModifier, + ) + assert get_mouse_x(event) == 10 + assert get_mouse_y(event) == 20