如何在 QTableView 中禁用编辑模式?

Posted

技术标签:

【中文标题】如何在 QTableView 中禁用编辑模式?【英文标题】:How to disable Edit mode in the QTableView? 【发布时间】:2010-10-05 10:45:00 【问题描述】:

我正在使用 QTableView。它工作正常。但问题是,如果我双击单元格,它就会变为编辑模式。我需要禁用编辑选项。该怎么做?

【问题讨论】:

【参考方案1】:

使用以下内容:

QTableView table(...);
table.setEditTriggers(QAbstractItemView::NoEditTriggers);

【讨论】:

当我遇到类似问题时,这对我也有用,不过快速提示,实际上是 QAbstractItemView,而不是 QAbstractView【参考方案2】:

试试 QAbstractItemView,它是 QTableView 的基类,其中声明了 EditTriggers 枚举(NoEdittriggers 是其中的一个元素)。取自this链接。

QTableView table(...);
table.setEditTriggers(QAbstractItemView::NoEditTriggers);

【讨论】:

这应该有更多的赞成票,它实际上比有一个重要错字的公认答案更正确【参考方案3】:

使用editTriggers property 更改行为。 所有可能的值都描述为here。

QTableView view();
view.setEditTriggers(QAbstractItemView::NoEditTriggers);

【讨论】:

您可能应该在您的解决方案中创建一个示例。您使用的链接已损坏,答案本身并没有真正提供太多帮助。

以上是关于如何在 QTableView 中禁用编辑模式?的主要内容,如果未能解决你的问题,请参考以下文章

踩坑QTableView之一:单列编辑

QTableView:如何在开始/结束编辑时做些啥?

如何在 qtableview 中编辑特定项目?

编辑单元格时如何在 QTableView 中使用 Enter 键导航

如何从 QTest 单元测试中编辑 QTableView 单元格?

Windows BATCH:如何禁用单个脚本的快速编辑模式?