#include<QtGui/QApplication>
#include<QtCore/QStringList>
#include<QtGui/QLineEdit>
#include<QtGui/QCompleter>
#include<QtGui/QHBoxLayout>
#include<QtGui/QWidget>
#include<QtGui/QLabel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget *win=new QWidget();
QHBoxLayout *lay=new QHBoxLayout();
QStringList wordList;
wordList <<"alpha"<<"omega"<<"omicron"<<"zeta"<<"america"<<"orion"<<"amit"<<"Odssey";
QLabel *lbl = new QLabel("Select");
QLineEdit *lineEdit = new QLineEdit();
lbl->setBuddy(lineEdit);
QCompleter *completer = new QCompleter(wordList);
completer->setCaseSensitivity(Qt::CaseInsensitive);//大小写匹配
//completer->setCompletionMode(QCompleter::InlineCompletion);//完整的匹配Inline (1)
completer->setCompletionMode(QCompleter::PopupCompletion); //匹配以弹出式显示 (2)
//completer->setCompletionMode(QCompleter::UnfilteredPopupCompletion);//将全部信息以弹出式显示
//completer->setCompletionRole(0); //设置ItemDataRole
lineEdit->setCompleter(completer);
lay->addWidget(lbl);
lay->addWidget(lineEdit);
win->setLayout(lay);
win->show();
return a.exec();
}
=====================================================================================
运行结果(1):

运行结果(2):
