gpt4 book ai didi

c++ - 如何获取从 QListView 中选择的项目?

转载 作者:可可西里 更新时间:2023-11-01 17:08:57 26 4
gpt4 key购买 nike

{
...
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
}

最佳答案

我只是根据自己的需要对此进行了测试,它可以在 Qt 5.1 中运行。

我是 C++ 的新手,所以在这一行中:

foreach(const QModelIndex &index, list){

我不知道是否需要 const 和取消引用 (&) - 无论有没有它都可以工作。我从我见过的各种例子中拼凑出来的。

也许更了解C++的人可以发表评论。

void MainWindow::on_keywordsList_clicked(const QModelIndex &index)
{
QModelIndexList list =keywordListView->selectionModel()->selectedIndexes();

QStringList slist;
foreach(const QModelIndex &index, list){
slist.append( index.data(Qt::DisplayRole ).toString());
}
qDebug() << slist.join(",");
}

关于c++ - 如何获取从 QListView 中选择的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18093156/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com