C++ QTableWidget中的列编辑为组合框
我有一个单元格中的颜色数据。当我双击这个单元格时,我可能只能通过从组合框中选择值来编辑它 但是这个组合框不是一直可见的——只有在我双击时间时才可见 问题:C++ QTableWidget中的列编辑为组合框,c++,qt,qtablewidget,qcombobox,C++,Qt,Qtablewidget,Qcombobox,我有一个单元格中的颜色数据。当我双击这个单元格时,我可能只能通过从组合框中选择值来编辑它 但是这个组合框不是一直可见的——只有在我双击时间时才可见 问题: 如何使只有一列是可编辑的(不是所有列!) 当我双击此列时,QTableWidget显示QComboBox,其中包含要插入此单元格的值。-怎么做 您可以使用自定义ItemDelegate执行此操作 成功之路将是: 子类qabstractemdelegate,重新实现createEditor,并确保它创建您喜欢的组合框 使用setItemDele
您可以使用自定义ItemDelegate执行此操作 成功之路将是:
qabstractemdelegate
,重新实现createEditor
,并确保它创建您喜欢的组合框setItemDelegateForColumn
并使用颜色内容指定一列标志(QModelIndex)
中返回正确的标志,并仅使您的列可编辑
路2。视图级别。在这种情况下,您应该创建一个“dumb”itemDelegate,它根本不创建编辑器,并将其分配给所有其他列
就我个人而言,我喜欢第一种方式。但这是供您选择的。请使用QSpinBox查看