我在单元格中有颜色数据。有可能当我双击这个单元格时,我只能通过从组合框中选择值来编辑它?
但是这个组合框始终不可见 - 只有当我点击双倍时。
问题:
答案 0 :(得分:0)
您可以使用自定义itemDelegates执行此操作。
成功之路将是:
QAbstractItemDelegate
,重新实现createEditor
并确保它创建了你喜爱的组合框。setItemDelegateForColumn
并指定包含颜色内容的列。提示:您甚至可以自定义颜色数据的显示,而不仅仅是编辑!
现在,让我们谈谈只设置一个可编辑的列。你有一个选择。
方式1.在模型级别进行。让您的模型在flags(QModelIndex)
中返回正确的标记,并仅使您的列可编辑。
方式2.查看级别。在这种情况下,你应该创建一个" dumb" itemDelegate根本不创建编辑器并将其分配给所有其他列。
就个人而言,我喜欢这种方式1.但这是供你选择的。