Название: Как у QCombobox с двумя column спозиционировать currentIndex по первому столбцу? Отправлено: PavelVX от Май 31, 2011, 08:57 Всем доброго дня!
QComboBox * comboEdit = new QComboBox(); QSqlQueryModel * comboEditModel = new QSqlQueryModel; strSQL = "select username, family from tt1" comboEditModel->setQuery(strSQL); comboEdit->setModel(comboEditAgentModel); comboEdit->setModelColumn(1); comboEdit->setEditable(true); Как мне теперь, имея username, спозиционировать тукущую позицию QCombobox????? В инете поискал, но или неправильно запрос делаю, или перебор, что не правильно. Название: Re: Как у QCombobox с двумя column спозиционировать currentIndex по первому столбцу? Отправлено: alexman от Май 31, 2011, 09:53 comboBox->setCurrentIndex( comboBox->findText( "username" ) );
Название: Re: Как у QCombobox с двумя column спозиционировать currentIndex по первому столбцу? Отправлено: PavelVX от Май 31, 2011, 11:26 Такой фокус не прокатит! Столбца ДВА!
comboBox->findText( "username" ) - будет искать по столбцу family, и соответственно ничего не найдет :( Название: Re: Как у QCombobox с двумя column спозиционировать currentIndex по первому столбцу? Отправлено: Странник от Май 31, 2011, 15:37 подробности в документации (http://doc.qt.nokia.com/latest/qabstractitemmodel.html#match).
Код: QModelIndexList indexes = comboBox->model()->match(comboBox->model()->index(0, 0), Qt::DisplayRole, "username", 1, Qt::MatchExactly); Название: Re: Как у QCombobox с двумя column спозиционировать currentIndex по первому столбцу? Отправлено: PavelVX от Июнь 01, 2011, 05:55 Странник, спасибо! Я почти так же потом нашел выход! :)
comboBox->setCurrentIndex(comboBox->match(comboEditAgentModel->index(1,0,QModelIndex()),Qt::DisplayRole, "username",1,Qt::MatchExactly).first().row()); Но он у меня, по началу, не захотел работать! Был удивлен, но глядя на вашу строчку понял в чем дело! Оказалось это я, по postgresql привычке, пытался ему подсовывать 'username', вместо "username". Спасибо большое! Название: Re: Как у QCombobox с двумя column спозиционировать currentIndex по первому столбцу? Отправлено: Странник от Июнь 01, 2011, 10:15 не за что = ) и поскольку match(...) может вернуть пустой список, проверку isEmpty() перед вызовом first() лучше все-таки делать (http://doc.qt.nokia.com/latest/qlist.html#first) = )
|