diff --git a/sloth/gui/annotationscene.py b/sloth/gui/annotationscene.py index 56a9ae1..075bf95 100644 --- a/sloth/gui/annotationscene.py +++ b/sloth/gui/annotationscene.py @@ -9,6 +9,7 @@ import logging LOG = logging.getLogger(__name__) class AnnotationScene(QGraphicsScene): + mousePositionChanged = pyqtSignal(float, float) def __init__(self, labeltool, items=None, inserters=None, parent=None): super(AnnotationScene, self).__init__(parent) @@ -162,7 +163,9 @@ class AnnotationScene(QGraphicsScene): QGraphicsScene.mouseReleaseEvent(self, event) def mouseMoveEvent(self, event): - # print "mouseMoveEvent", self.sceneRect().contains(event.scenePos()), event.scenePos() + sp = event.scenePos() + self.mousePositionChanged.emit(sp.x(), sp.y()) + LOG.debug("mouseMoveEvent %s %s" % (self.sceneRect().contains(event.scenePos()), event.scenePos())) if self.inserter_ is not None: # insert mode self.inserter_.mouseMoveEvent(event, self.image_item_) diff --git a/sloth/gui/labeltool.py b/sloth/gui/labeltool.py index 0d94085..73b40e5 100755 --- a/sloth/gui/labeltool.py +++ b/sloth/gui/labeltool.py @@ -3,7 +3,7 @@ import os import functools import fnmatch from PyQt4.QtGui import QMainWindow, QSizePolicy, QWidget, QVBoxLayout, QAction,\ - QKeySequence, QLabel, QItemSelectionModel, QMessageBox, QFileDialog + QKeySequence, QLabel, QItemSelectionModel, QMessageBox, QFileDialog, QFrame from PyQt4.QtCore import SIGNAL, QSettings, QSize, QPoint, QVariant, QFileInfo import PyQt4.uic as uic from sloth.gui import qrc_icons # needed for toolbar icons @@ -45,6 +45,9 @@ class MainWindow(QMainWindow): else: self.setWindowTitle("%s - Unnamed %s" % (APP_NAME, postfix)) + def onMousePositionChanged(self, x, y): + self.posinfo.setText("%d, %d" % (x, y)) + def onAnnotationsLoaded(self): self.labeltool.model().dirtyChanged.connect(self.onModelDirtyChanged) self.onModelDirtyChanged(self.labeltool.model().dirty()) @@ -145,6 +148,11 @@ class MainWindow(QMainWindow): self.scene.selectionChanged.connect(self.scene.onSelectionChanged) self.treeview.selectedItemsChanged.connect(self.scene.onSelectionChangedInTreeView) + self.posinfo = QLabel("-1, -1") + self.posinfo.setFrameStyle(QFrame.StyledPanel) + self.statusBar().addPermanentWidget(self.posinfo) + self.scene.mousePositionChanged.connect(self.onMousePositionChanged) + self.image_resolution = QLabel("[no image]") self.image_resolution.setFrameStyle(QFrame.StyledPanel) self.statusBar().addPermanentWidget(self.image_resolution)