例:为QLineEdit设置自动补全
QStringList country;
country<<"China"<<"Japan"<<"English"<<"Endian"<<"American"<<"Australia";
QCompleter *completer = new QCompleter(country, this);
completer->setCaseSensitivity(Qt::CaseInsensitive);
ui->lineEdit->setCompleter(completer);
例:补全文件路径
QDirModel *model = new QDirModel(this);
QCompleter *completer = new QCompleter(this);
completer->setModel(model);
ui->lineEdit->setCompleter(completer);
设置匹配规则
completer->setFilterMode(Qt::MatchStartsWith); //Qt::MatchStartsWith //default 开头匹配 //Qt::MatchContains // 内容匹配 //Qt::MatchEndsWith //结尾匹配
设置补全方式
completer->setCompletionMode(QCompleter::PopupCompletion); //QCompleter::InlineCompletion //QCompleter::UnfilteredPopupCompletion
设置显示的最大数目
completer->setMaxVisibleItems(5);