QListView在编辑时失去选择

时间:2012-12-08 14:33:12

标签: qt qlistview qsqltablemodel

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

用户点击“添加”按钮后,我会添加一个新项目并将其打开进行编辑:

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

但是一旦用户完成了新值的编辑,listView的选择就会丢失。我无法在QListView或QSQLTableModel上找到一个信号来处理何时编辑完成以便我“恢复”选择。

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

1 个答案:

答案 0 :(得分:1)

编辑()函数文档的摘录:

  

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