QListView 在编辑时丢失选择



我有一个QListView从QSQLTableModel中提取数据。

用户单击"添加"按钮后,我添加一个新项目并打开它进行编辑:

QSqlTableModel *tblModel= qobject_cast<QSqlTableModel *>(ui->listView->model());
if(tblModel->insertRow(tblModel->rowCount()))
    ui->listView->edit(tblModel->index(tblModel->rowCount()-1, 1));

但是,一旦用户编辑完新值,列表视图的选择就会丢失。我在 QListView 或 QSQLTableModel 上找不到信号来处理何时和编辑完成,以便我"恢复"选择。

有没有办法确保保留选择?

edit() 函数文档的摘录:

请注意,此函数不会更改当前索引。自从 当前索引定义了要编辑的下一个和上一个项目,用户可以 发现键盘导航无法按预期工作。提供 一致的导航行为,在此之前调用 setCurrentIndex() 具有相同模型索引的函数。

最新更新