Comment puis-je obtenir les éléments sélectionnés à partir d'un QListView?
{
...
nrow = 10;
ncol = 1;
/*create QListView */
m_listView = new QListView(this);
m_listView->setGeometry(QRect(QPoint(0,100), QSize(100, 150)));
QStandardItemModel *model = new QStandardItemModel( nrow, 1, this );
//fill model value
for( int r=0; r<nrow; r++ )
{
QString sstr = "[ " + QString::number(r) + " ]";
QStandardItem *item = new QStandardItem(QString("Idx ") + sstr);
model->setItem(r, 0, item);
}
//set model
m_listView->setModel(model);
m_listView->setSelectionMode( QAbstractItemView::ExtendedSelection );
connect(m_listView, SIGNAL(pressed(QModelIndex)), this, SLOT(hItem(QModelIndex)));
}
void MainWindow::hItem(QModelIndex m)
{
QItemSelectionModel *selectionModel = m_listView->selectionModel();
m_txt2->setText(QString::number(selectionModel->selectedIndexes().at(0),'d',0));//???
//not sure how to get the items selected: index and string per selection
}
OriginalL'auteur jdl | 2013-08-07
Vous devez vous connecter pour publier un commentaire.
Je viens de tester cela pour mes besoins propres, et il travaille dans Qt 5.1.
Je suis assez novice en C++ donc dans cette ligne:
Je ne sais pas si le
const
et le déréférencement (&
) est nécessaire - il fonctionne avec ou sans. J'cela concoctée à partir de divers exemples, que j'ai vu.Peut-être quelqu'un qui comprend C++ amélioration de commentaire.
OriginalL'auteur No Grabbing