http://vvsongsunny.iteye.com/blog/1136950
#include "widget.h"
#include "ui_widget.h"
#include <QtGui/QCompleter>
#include <QStringList>
Widget::Widget(QWidget *parent)
:QWidget(parent), ui(new Ui::Widget) {
ui->setupUi(this);
QStringList strings;
strings << "Biao" << "Biao Huang"<< "Mac" << "MacBook" << "MacBookPro" << "Mac Pro";
completer = new QCompleter(strings, this);
ui->comboBox->clear();
ui->comboBox->addItems(strings);
ui->comboBox->setEditable(true);
ui->comboBox->setCompleter(completer);
}
Widget::~Widget() {
delete ui;
delete completer;
}
动态数据源 真正的解决方案:
QStringListstrings;
if(db.isOpen())
{
QSqlQuery query("SELECT goodsno,caw FROM ct_goods");
while (query.next()) {
QString goodsno = query.value(0).toString();
strings.append(goodsno);
}
completer = new QCompleter(strings, this);
ui->comboBox->clear();
ui->comboBox->addItems(strings);
ui->comboBox->setCompleter(completer);
``取消小箭頭
QComboBox* mp_combox; 则在你的cpp文件中可以有以下代码。 mp_combox = new QComboBox(this); //设置向下的箭头不存在 mp_combox->setStyleSheet("QComboBox::drop-down{" "border-style: none;}"); //增加数据进行测试是否可以下拉弹出列表 QStringList test = QStringList() <<"123123123123" <<"23222222222"; mp_combox->addItems(test); //如果不是在构造函数中则需要手动调用show将其显示出来 mp_combox->show();