Merge pull request #65 from yjmade/master
fix some bugs when running on Mac with PyQT5
This commit is contained in:
commit
634fc0c637
@ -204,7 +204,7 @@ class MainWindow(QMainWindow, WindowMixin):
|
|||||||
'Ctrl+r', 'open', u'Change default saved Annotation dir')
|
'Ctrl+r', 'open', u'Change default saved Annotation dir')
|
||||||
|
|
||||||
openAnnotation = action('&Open Annotation', self.openAnnotation,
|
openAnnotation = action('&Open Annotation', self.openAnnotation,
|
||||||
'Ctrl+q', 'openAnnotation', u'Open Annotation')
|
'Ctrl+Shift+O', 'openAnnotation', u'Open Annotation')
|
||||||
|
|
||||||
openNextImg = action('&Next Image', self.openNextImg,
|
openNextImg = action('&Next Image', self.openNextImg,
|
||||||
'd', 'next', u'Open Next')
|
'd', 'next', u'Open Next')
|
||||||
@ -445,7 +445,7 @@ class MainWindow(QMainWindow, WindowMixin):
|
|||||||
self.updateFileMenu()
|
self.updateFileMenu()
|
||||||
# Since loading the file may take some time, make sure it runs in the
|
# Since loading the file may take some time, make sure it runs in the
|
||||||
# background.
|
# background.
|
||||||
self.queueEvent(partial(self.loadFile, self.filePath))
|
self.queueEvent(partial(self.loadFile, self.filePath or ""))
|
||||||
|
|
||||||
# Callbacks:
|
# Callbacks:
|
||||||
self.zoomWidget.valueChanged.connect(self.paintCanvas)
|
self.zoomWidget.valueChanged.connect(self.paintCanvas)
|
||||||
@ -1035,13 +1035,14 @@ class MainWindow(QMainWindow, WindowMixin):
|
|||||||
return
|
return
|
||||||
path = os.path.dirname(str(self.filePath))\
|
path = os.path.dirname(str(self.filePath))\
|
||||||
if self.filePath else '.'
|
if self.filePath else '.'
|
||||||
formats = ['*.%s' % str(fmt).lower()
|
formats = ['*.%s' % fmt.data().decode("ascii").lower() for fmt in QImageReader.supportedImageFormats()]
|
||||||
for fmt in QImageReader.supportedImageFormats()]
|
|
||||||
filters = "Image & Label files (%s)" % \
|
filters = "Image & Label files (%s)" % \
|
||||||
' '.join(formats + ['*%s' % LabelFile.suffix])
|
' '.join(formats + ['*%s' % LabelFile.suffix])
|
||||||
filename = QFileDialog.getOpenFileName(self,
|
filename = QFileDialog.getOpenFileName(self,
|
||||||
'%s - Choose Image or Label file' % __appname__, path, filters)
|
'%s - Choose Image or Label file' % __appname__, path, filters)
|
||||||
if filename:
|
if filename:
|
||||||
|
if isinstance(filename, (tuple,list)):
|
||||||
|
filename=filename[0]
|
||||||
self.loadFile(filename)
|
self.loadFile(filename)
|
||||||
|
|
||||||
def saveFile(self, _value=False):
|
def saveFile(self, _value=False):
|
||||||
|
|||||||
@ -523,16 +523,25 @@ class Canvas(QWidget):
|
|||||||
return super(Canvas, self).minimumSizeHint()
|
return super(Canvas, self).minimumSizeHint()
|
||||||
|
|
||||||
def wheelEvent(self, ev):
|
def wheelEvent(self, ev):
|
||||||
if ev.orientation() == Qt.Vertical:
|
qt_version = 4 if hasattr(ev, "delta") else 5
|
||||||
mods = ev.modifiers()
|
if qt_version == 4:
|
||||||
if Qt.ControlModifier == int(mods):
|
if ev.orientation() == Qt.Vertical:
|
||||||
self.zoomRequest.emit(ev.delta())
|
v_delta = ev.delta()
|
||||||
|
h_delta = 0
|
||||||
else:
|
else:
|
||||||
self.scrollRequest.emit(ev.delta(),
|
h_delta = ev.delta()
|
||||||
Qt.Horizontal if (Qt.ShiftModifier == int(mods))
|
v_delta = 0
|
||||||
else Qt.Vertical)
|
|
||||||
else:
|
else:
|
||||||
self.scrollRequest.emit(ev.delta(), Qt.Horizontal)
|
delta = ev.angleDelta()
|
||||||
|
h_delta = delta.x()
|
||||||
|
v_delta = delta.y()
|
||||||
|
|
||||||
|
mods = ev.modifiers()
|
||||||
|
if Qt.ControlModifier == int(mods) and v_delta:
|
||||||
|
self.zoomRequest.emit(v_delta)
|
||||||
|
else:
|
||||||
|
v_delta and self.scrollRequest.emit(v_delta, Qt.Vertical)
|
||||||
|
h_delta and self.scrollRequest.emit(h_delta, Qt.Horizontal)
|
||||||
ev.accept()
|
ev.accept()
|
||||||
|
|
||||||
def keyPressEvent(self, ev):
|
def keyPressEvent(self, ev):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user