伪代码 有问题请问
QTLineEdit 和QCompleter 组合实现自动补全提示
QLineEdit *lineEdit = new QLineEdit(this);
lineEdit->setClearButtonEnabled(true);
QStringList valueList;
QStringListModel* listModel;
QCompleter *completer = new QCompleter(this);
listModel = new QStringListModel(valueList, this);
completer->setCaseSensitivity(Qt::CaseInsensitive);
completer->setModel(listModel);
lineEdit->setCompleter(completer);
void Widget::on_lineEdit_editingFinished()
{
QString text = ui->lineEdit->text();
if(QString::compare(text, QString("")) != 0) {
bool flag = valueList.contains(text, Qt::CaseInsensitive);
if(!flag) {
valueList.append(text);
listModel->setStringList(valueList);
}
}
}
QLineEdit 和QComboBox 组合实现下拉历史选项
QComboBox comboBox=new QComboBox(this);
QLineEdit *lineEdit = new QLineEdit(this);
lineEdit->setClearButtonEnabled(true);
lineEdit->setPlaceholderText("提示信息");
comboBox->setLineEdit(lineEdit);
comboBox->addItem("下一个");
void Widget::on_comboBox_currentIndexChanged(int index)
{
qDebug()<<ui->comboBox->currentText();
qDebug()<<ui->comboBox->currentIndex();
}