Parcourir la source

Fix currentRow of completer

Kentaro Wada il y a 7 ans
Parent
commit
5d1b7a5fd8
1 fichiers modifiés avec 10 ajouts et 7 suppressions
  1. 10 7
      labelme/labelDialog.py

+ 10 - 7
labelme/labelDialog.py

@@ -97,13 +97,16 @@ class LabelDialog(QtWidgets.QDialog):
 
 
     def popUp(self, text=None, move=True):
     def popUp(self, text=None, move=True):
         # if text is None, the previous label in self.edit is kept
         # if text is None, the previous label in self.edit is kept
-        if text is not None:
-            self.edit.setText(text)
-            self.edit.setSelection(0, len(text))
-            items = self.labelList.findItems(text, QtCore.Qt.MatchFixedString)
-            if items:
-                assert len(items) == 1
-                self.labelList.setCurrentItem(items[0])
+        if text is None:
+            text = self.edit.text()
+        self.edit.setText(text)
+        self.edit.setSelection(0, len(text))
+        items = self.labelList.findItems(text, QtCore.Qt.MatchFixedString)
+        if items:
+            assert len(items) == 1
+            self.labelList.setCurrentItem(items[0])
+            row = self.labelList.row(items[0])
+            self.edit.completer().setCurrentRow(row)
         self.edit.setFocus(QtCore.Qt.PopupFocusReason)
         self.edit.setFocus(QtCore.Qt.PopupFocusReason)
         if move:
         if move:
             self.move(QtGui.QCursor.pos())
             self.move(QtGui.QCursor.pos())