Это мой пример программы для Qlineedit Completer. После AutoSuggestion я хочу отобразить текст как начало элемента в строке редактирования для этого я написал completer.activated.connect(lambda: QTimer.singleShot(0, lambda: edit.home(False)))
. Работает нормально, но я не хочу показывать курсор в начале и после автопредставления.
Ниже приведен мой код:
import sys
from PyQt4.QtCore import Qt,QTimer
from PyQt4.QtGui import QApplication, QCompleter, QLineEdit, QStringListModel
def get_data(model):
model.setStringList(["completionProgramxxxxxxxxxxxxxxx", "completionProgramyyyyyy","truthordisabled", "storecredit", "iamhere"])
if __name__ == "__main__":
app = QApplication(sys.argv)
edit = QLineEdit()
completer = QCompleter()
edit.setCompleter(completer)
completer.activated.connect(lambda: QTimer.singleShot(0, lambda: edit.home(False)))
model = QStringListModel()
completer.setModel(model)
get_data(model)
edit.show()
sys.exit(app.exec_())
у меня получилось изображение вот так: