我正在使用QAbstractItemView来操作队列。问题是当用户单击send按钮时,编辑器不会关闭并更新模型中的值。这导致了一些挫败感。
我已经浏览了Qt文档,但似乎找不到关闭编辑器并提交更改的简单方法。我该怎么做呢?
发布于 2015-09-15 14:36:05
这是我用过的
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);
}
}
}发布于 2010-12-03 10:16:37
看起来您必须通过选择模型或ItemView信号或currentIndex()跟踪当前打开的项目,当您拥有当前打开项目的QModelIndex时,您应该能够使用closePersistentEditor ( const QModelIndex & index )关闭它
https://stackoverflow.com/questions/4324421
复制相似问题