前段时间给项目里写了个小东西,需要QLineEdit这个东西,然后艺术家用的时候每次都要手动输入,自己就设想能不能添加个自动补全的功能呢,于是上网查了下,还真有,就是下面的两个方案,自己分别说下,第一种是,只在开头的位置自动补全,如果你一次输入好多单词,那么后面输入就没有自动补全了,相对也简单些,根据自己的需要定。
代码如下:
import sys
from PySide.QtCore import Qt
from PySide.QtGui import QApplication, QCompleter, QLineEdit, QStringListModel
if __name__ == '__main__':
app = QApplication(sys.argv)
edit = QLineEdit()
completer = QCompleter()
edit.setCompleter(completer)
model = QStringListModel()
model.setStringList(['book', 'good', 'perfect', 'lousy', 'messy'])
completer.setModel(model)
edit.show()
sys.exit(app.exec_())