我正在使用QAbstractItemView来操纵队列。问题是当用户点击发送按钮时,编辑器不会关闭并更新模型中的值。这会引起一些挫折。
我已经阅读了Qt文档,但我似乎无法找到关闭编辑器并提交更改的简单方法。我应该怎么做呢?
答案 0 :(得分:1)
这是我用的
void ProjectExplorerView::CloseCurrentEditorIfOpen(bool commit)
{
QWidget* w = indexWidget(currentIndex());
if (w != nullptr)
{
if (commit) {
commitData(w);
closeEditor(w, QAbstractItemDelegate::SubmitModelCache);
} else {
closeEditor(w, QAbstractItemDelegate::RevertModelCache);
}
}
}
答案 1 :(得分:0)
看起来您必须通过选择模型或ItemView信号或currentIndex()
跟踪当前打开的项目,当您有QModelIndex
当前打开的项目时,您应该能够关闭它使用closePersistentEditor ( const QModelIndex & index )