Labels will be added to history and re-use it while showing pop window
This commit is contained in:
parent
06c9adf494
commit
87dab57ec9
15
labelImg.py
15
labelImg.py
@ -59,6 +59,7 @@ class MainWindow(QMainWindow, WindowMixin):
|
|||||||
# For loading all image under a directory
|
# For loading all image under a directory
|
||||||
self.mImgList = []
|
self.mImgList = []
|
||||||
self.dirname = None
|
self.dirname = None
|
||||||
|
self.labelHist = []
|
||||||
|
|
||||||
# Whether we need to save or not.
|
# Whether we need to save or not.
|
||||||
self.dirty = False
|
self.dirty = False
|
||||||
@ -593,6 +594,9 @@ class MainWindow(QMainWindow, WindowMixin):
|
|||||||
|
|
||||||
position MUST be in global coordinates.
|
position MUST be in global coordinates.
|
||||||
"""
|
"""
|
||||||
|
if len(self.labelHist) > 0:
|
||||||
|
self.labelDialog = LabelDialog(parent=self, listItem=self.labelHist)
|
||||||
|
|
||||||
text = self.labelDialog.popUp()
|
text = self.labelDialog.popUp()
|
||||||
if text is not None:
|
if text is not None:
|
||||||
self.addLabel(self.canvas.setLastLabel(text))
|
self.addLabel(self.canvas.setLastLabel(text))
|
||||||
@ -602,6 +606,10 @@ class MainWindow(QMainWindow, WindowMixin):
|
|||||||
else:
|
else:
|
||||||
self.actions.editMode.setEnabled(True)
|
self.actions.editMode.setEnabled(True)
|
||||||
self.setDirty()
|
self.setDirty()
|
||||||
|
|
||||||
|
|
||||||
|
if text not in self.labelHist:
|
||||||
|
self.labelHist.append(text)
|
||||||
else:
|
else:
|
||||||
#self.canvas.undoLastLine()
|
#self.canvas.undoLastLine()
|
||||||
self.canvas.resetAllLines()
|
self.canvas.resetAllLines()
|
||||||
@ -790,9 +798,12 @@ class MainWindow(QMainWindow, WindowMixin):
|
|||||||
self.mImgList = self.scanAllImages(dirpath)
|
self.mImgList = self.scanAllImages(dirpath)
|
||||||
self.openNextImg()
|
self.openNextImg()
|
||||||
|
|
||||||
|
def openPrevImg(self, _value=False):
|
||||||
|
if not self.mayContinue():
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
def openNextImg(self, _value=False):
|
def openNextImg(self, _value=False):
|
||||||
if self.dirty == True:
|
|
||||||
print 'dirty'
|
|
||||||
if not self.mayContinue():
|
if not self.mayContinue():
|
||||||
return
|
return
|
||||||
if len(self.mImgList) <= 0:
|
if len(self.mImgList) <= 0:
|
||||||
|
|||||||
@ -7,7 +7,7 @@ BB = QDialogButtonBox
|
|||||||
|
|
||||||
class LabelDialog(QDialog):
|
class LabelDialog(QDialog):
|
||||||
|
|
||||||
def __init__(self, text="Enter object label", parent=None):
|
def __init__(self, text="Enter object label", parent=None, listItem=None):
|
||||||
super(LabelDialog, self).__init__(parent)
|
super(LabelDialog, self).__init__(parent)
|
||||||
self.edit = QLineEdit()
|
self.edit = QLineEdit()
|
||||||
self.edit.setText(text)
|
self.edit.setText(text)
|
||||||
@ -21,6 +21,14 @@ class LabelDialog(QDialog):
|
|||||||
bb.accepted.connect(self.validate)
|
bb.accepted.connect(self.validate)
|
||||||
bb.rejected.connect(self.reject)
|
bb.rejected.connect(self.reject)
|
||||||
layout.addWidget(bb)
|
layout.addWidget(bb)
|
||||||
|
|
||||||
|
if listItem is not None and len(listItem) > 0:
|
||||||
|
self.listWidget = QListWidget(self)
|
||||||
|
for item in listItem:
|
||||||
|
self.listWidget.addItem(item)
|
||||||
|
self.listWidget.itemDoubleClicked.connect(self.listItemClick)
|
||||||
|
layout.addWidget(self.listWidget)
|
||||||
|
|
||||||
self.setLayout(layout)
|
self.setLayout(layout)
|
||||||
|
|
||||||
def validate(self):
|
def validate(self):
|
||||||
@ -38,3 +46,6 @@ class LabelDialog(QDialog):
|
|||||||
self.move(QCursor.pos())
|
self.move(QCursor.pos())
|
||||||
return self.edit.text() if self.exec_() else None
|
return self.edit.text() if self.exec_() else None
|
||||||
|
|
||||||
|
def listItemClick(self, tQListWidgetItem):
|
||||||
|
text = tQListWidgetItem.text().trimmed()
|
||||||
|
self.edit.setText(text)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user