Qt C++ QLineEdit、QComboBox 实现模糊搜索
recvPlatfromData 槽函数 接收可匹配的json数组
void TipDialog::recvPlatfromData(const QJsonArray &data) {
qInfo() << "TipDialog::recvPlatfromData <===== NetWorkPlatform::signalsfinishlicenselist data:" << data;
// QStringList testlist;
ui->comboBox->clear();
//遍历列表载入搜索列表中
for (const QJsonValue &value : data) {
if (value.isString()) {
m_licenselist.append(value.toString());
// testlist<<value.toString();
}
}
// ui->comboBox->addItems(testlist);
//emit signalsCloseLoading(); //接收到号列表后关闭loading弹窗
QCompleter *pCompleter = new QCompleter(m_licenselist, this);
pCompleter->setCompletionMode(QCompleter::UnfilteredPopupCompletion);
//设置下拉提示popup的样式
pCompleter->popup()->setStyleSheet("QListView {background-color: rgb(0, 40, 61);color: white;font-size: 30pt;}"); //备选框的样式
pCompleter->setCaseSensitivity(Qt::CaseInsensitive);
pCompleter->setFilterMode(Qt::MatchContains);
ui->lineEdit_1->setCompleter(pCompleter); //绑定到编辑框
// ui->comboBox->setCompleter(pCompleter);
}