当字符串列表仅包含Unicode字符时,QLineEdit无法弹出自动完成功能。当我输入2个字母后按空格和退格键时,弹出窗口出现。对于ASCII字符串,自动完成功能可以正常工作。
我已经使用QCompleter尝试了各种方法,但是似乎没有任何效果。
class MainWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.setMinimumSize(QSize(480, 80))
self.setWindowTitle("AutoCompleter")
central_widget = QWidget(self)
self.setCentralWidget(central_widget)
glayout = QGridLayout(self)
central_widget.setLayout(glayout)
glayout.addWidget(QLabel("Autocompletion check", self), 0, 0)
lineEdit = QLineEdit(self)
strList = ['அக்காரம்', 'அக்கா', 'அக்காரை', 'அக்கினி', 'அகல்', 'அமசம்', 'அமர்', 'அமரன்' ]
#strList = ['Python', 'Potter', 'Pebble', 'Power', 'Penpal', 'Django', 'QT']
completer = QCompleter(strList, lineEdit)
completer.setCompletionMode(completer.PopupCompletion)
lineEdit.setCompleter(completer)
glayout.addWidget(lineEdit, 0, 1)
当我使用unicode字符串时,键入前2个字母后,自动完成功能应该可以工作。 (即),而无需按Tab键或空格键+空格键