Add current mouse position to status bar

This commit is contained in:
Mika Fischer
2011-06-30 15:20:34 +02:00
parent 3162544d3a
commit 8292b5b93f
2 changed files with 13 additions and 2 deletions
+4 -1
View File
@@ -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_)
+9 -1
View File
@@ -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)