Я нашел ответ, если он может помочь другим, я создал класс для Completer:
class Completer(QtWidgets.QCompleter):
def __init__(self, parent=None):
super(Completer, self).__init__(parent)
self.setCaseSensitivity(Qt.CaseInsensitive)
self.setCompletionMode(QtWidgets.QCompleter.PopupCompletion)
self.setWrapAround(False)
# Add texts instead of replace
def pathFromIndex(self, index):
path = QtWidgets.QCompleter.pathFromIndex(self, index)
lst = str(self.widget().text()).split(',')
if len(lst) > 1:
path = '%s, %s' % (','.join(lst[:-1]), path)
return path
# Add operator to separate between texts
def splitPath(self, path):
path = str(path.split(',')[-1]).lstrip(' ')
return [path]
И я использую его в классе для QLineEdit, например:
class TextEdit(QtWidgets.QLineEdit):
def __init__(self, parent=None):
super(TextEdit, self).__init__(parent)
self.setPlaceholderText("example : ")
self._completer = Completer(self)
self.setCompleter(self._completer)
Да, я думаю, что это может варьироваться в зависимости от вашего работодателя в реальном мире. В этой ситуации я бы в любом случае использовал 4 строки.
Я обнаружил сайт, который может помочь с этими материалами: http://jsbeautifier.org/ .
jsBeautifier - это простой в использовании и полезный инструмент для исправления проблем с отступами. На работе я установил автоматизированные инструменты, такие как линтеры, для разрешения отступов.