我有一个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上找到一个信号来处理何时编辑完成以便我“恢复”选择。
有没有办法确保保留选择?
答案 0 :(得分:1)
编辑()函数文档的摘录:
请注意,此功能不会更改当前索引。自从 当前索引定义了要编辑的下一个和上一个项目,用户可以 发现键盘导航无法按预期工作。提供 一致的导航行为,在此之前调用setCurrentIndex() 具有相同模型索引的函数。