如果保存操作未成功完成,我无法阻止用户表单更改当前选择。我可以使用 QTableView 的选择模型的 currentRowChanged 信号重新选择一行,但是虽然选择发生了变化,但蓝色选择指示器没有。见下图。
示例:在下图中,用户尝试添加新行 nr 537。但保存操作出错,我不希望用户在删除或编辑记录然后保存之前离开第 537 行
问题:如何将蓝线移动到当前选择?(当前选择为最后一行)(QTableView的Selection Behavior设置为选择行)
这是我到目前为止得到的代码:
def __init__(self, parent):
...
self.__tableViewSelectionModel = self.__ui.tableView.selectionModel()
self.__tableViewSelectionModel.currentRowChanged.connect(self.rowChanged)
def rowChanged(self, current=None, previous=None):
if save() == True:
self.__ui.tableView.clearSelection()
self.__ui.tableView.selectRow(previous.row())