void LoadComboBox(QComboBox *obj,QString str){ obj->clear(); QSqlQuery query; QString que; QStringList combolist; que = "select name from "+str+" order by id"; if (!query.exec(que)) { QMessageBox::critical(this,tr("Error load param"),tr("Can not load param")); }else { while (query.next()) { combolist << query.value(0).toString(); } obj->addItems(combolist); for (int i = 0;i<combolist.count();i++) { obj->setItemData(i,combolist.at(i),Qt::ToolTipRole); } QCompleter *completer = new QCompleter(combolist, this); completer->setCaseSensitivity(Qt::CaseInsensitive); obj->setCompleter(completer); }}
QSqlQueryModel *йцу(этот);цйу->setQuery("запрос", подключениекбд);QComboBox *ыва;ыва->setModel(цйу);ыва->setModelColumn ( int номеротображаемогостолбцамоделкиначинаяотнуля ) ;
QSqlQueryModel* model = ...;model->setQuery("select id, title from ...");QComboBox *combo = ...;combo->setModel(model);combo->setModelColumn (1) ;combo->setModelKeyColumn(0); <---- что нибудь типа такого