鉴于工作用的是Qt开发,本人之前有学了一点C#,感觉C#蛮好用的,比如combobox的自动完成补全,就想Qt的QComboBox是否也能有此功能属性。找了半天终于让我找到了QCompleter。它的基本用法也是能实现根据输入自动补全。首先来看看以下基本用法
QStringList wordList;
wordList << "alpha" << "omega" << "omicron" << "zeta";
QLineEdit *lineEdit = new QLineEdit(this);
QCompleter *completer = new QCompleter(wordList, this);
completer->setCaseSensitivity(Qt::CaseInsensitive);
lineEdit->setCompleter(completer);
运行的结果:
当然可以把QLineEdit换成QComboBox,但把QComboBox设置为可以编辑输入。setEditable(true)
除了可以补全普通的问题输入外,还可以补全路径:
QFileSystemMod