From aafec120a550e8a6f8c2976d124bb08d3b388f2c Mon Sep 17 00:00:00 2001 From: Nikolay Koshenkov <23371089+nuqz@users.noreply.github.com> Date: Sun, 8 Nov 2020 12:19:53 +0300 Subject: [PATCH] Function to zoom in corners with hotkeys --- labelImg.py | 38 +++++++++++++++++++++++++++- resources/strings/strings.properties | 4 +++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/labelImg.py b/labelImg.py index d04a349cd..d896f1f65 100755 --- a/labelImg.py +++ b/labelImg.py @@ -309,6 +309,17 @@ def getFormatMeta(format): fitWidth = action(getStr('fitWidth'), self.setFitWidth, 'Ctrl+Shift+F', 'fit-width', getStr('fitWidthDetail'), checkable=True, enabled=False) + + # Zoom in corners + zoomLeftTop = action(getStr('zoomLT'), self.zoomLeftTop, + '1', 'left-top', getStr('zoomLT')) + zoomRightTop = action(getStr('zoomRT'), self.zoomRightTop, + '2', 'right-top', getStr('zoomRT')) + zoomRightBottom = action(getStr('zoomRB'), self.zoomRightBottom, + '3', 'right-bottom', getStr('zoomRB')) + zoomLeftBottom = action(getStr('zoomLB'), self.zoomLeftBottom, + '4', 'left-bottom', getStr('zoomLB')) + # Group zoom controls into a list for easier toggling. zoomActions = (self.zoomWidget, zoomIn, zoomOut, zoomOrg, fitWindow, fitWidth) @@ -405,7 +416,8 @@ def getFormatMeta(format): labels, advancedMode, None, hideAll, showAll, None, zoomIn, zoomOut, zoomOrg, None, - fitWindow, fitWidth)) + fitWindow, fitWidth, None, + zoomLeftTop, zoomRightTop, zoomRightBottom, zoomLeftBottom)) self.menus.file.aboutToShow.connect(self.updateFileMenu) @@ -958,6 +970,30 @@ def setZoom(self, value): def addZoom(self, increment=10): self.setZoom(self.zoomWidget.value() + increment) + def zoomLeftTop(self): + self.setZoom(300) + h_bar = self.scrollBars[Qt.Horizontal].setValue(0) + v_bar = self.scrollBars[Qt.Vertical].setValue(0) + + def zoomRightTop(self): + self.setZoom(300) + h_bar = self.scrollBars[Qt.Horizontal] + v_bar = self.scrollBars[Qt.Vertical].setValue(0) + h_bar.setValue(h_bar.maximum()) + + def zoomRightBottom(self): + self.setZoom(300) + h_bar = self.scrollBars[Qt.Horizontal] + v_bar = self.scrollBars[Qt.Vertical] + h_bar.setValue(h_bar.maximum()) + v_bar.setValue(v_bar.maximum()) + + def zoomLeftBottom(self): + self.setZoom(300) + h_bar = self.scrollBars[Qt.Horizontal].setValue(0) + v_bar = self.scrollBars[Qt.Vertical] + v_bar.setValue(v_bar.maximum()) + def zoomRequest(self, delta): # get the current scrollbar positions # calculate the percentages ~ coordinates diff --git a/resources/strings/strings.properties b/resources/strings/strings.properties index 49c8bc1ed..352195715 100644 --- a/resources/strings/strings.properties +++ b/resources/strings/strings.properties @@ -46,6 +46,10 @@ fitWin=Fit Window fitWinDetail=Zoom follows window size fitWidth=Fit Width fitWidthDetail=Zoom follows window width +zoomLT=Zoom left top corner +zoomRT=Zoom right top corner +zoomRB=Zoom right bottom corner +zoomLB=Zoom left bottom corner editLabel=Edit Label editLabelDetail=Modify the label of the selected Box shapeLineColor=Shape Line Color