【转载地址】:http://dev.10086.cn/cmdn/wiki/index.php?doc-view-1647.html
#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):

【END】
本文介绍了一个使用Qt库实现的自动补全输入框组件示例。该示例展示了如何利用QCompleter类为QLineEdit提供自动补全功能,并通过不同的完成模式展示其效果。
529

被折叠的 条评论
为什么被折叠?



