gpt4 book ai didi

qt - 删除 QStandardItemModel 的多个索引的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-02 10:49:54 37 4
gpt4 key购买 nike

我试图删除 QTableView 的所有选定索引,

现在我使用:

foreach (const QModelIndex & idx, model->selectionModel()->selectedIndexes())
{
model->removeRow (idx.row()); // Obviously bug
}

有一个明显的问题,一旦删除行,行id就失效了,w

由于没有直接获取索引的函数(或者索引是否像迭代器一样,当数据更改时会失效?),我不知道该怎么办。

最佳答案

QPersistanceModelIndex 类可以保持索引的有效状态。我尝试过,似乎有效。

QList<QPersistentModelIndex> indexes;

foreach (const QModelIndex &i, ui->tableView->selectionModel()->selectedIndexes())
indexes << i;

foreach (const QPersistentModelIndex &i, indexes)
ui->tableView->model()->removeRow(i.row());

希望对您有所帮助。

关于qt - 删除 QStandardItemModel 的多个索引的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12969509/

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