在QT 4.7中,我试图使一个QTableWidget中的一个QTableWidgetItem可编辑,而其他所有列都应该对我只读。但是我在这里遇到了问题。
我通过Google和Stackoverflow检查了许多示例,但未能实现此目标。我尝试过的一些选项如下:
我通过调用insertRow(rownumber)来动态添加行。
1.尝试1:在动态插入行时执行以下操作 - 在UI对话框中启用编辑触发器 - 使用以下代码添加列以禁用编辑: QTableWidgetItem qit(""); qit.setflags(qit.flags() & ~Qt::ItemIsEditable) qtable.setitem(row,column, &qit); - 对于其他列,我不设置标志
以上方法没有起作用。我可以编辑所有列(甚至是我取消可编辑选项的列)。
2.尝试2: 只需使用qtable.setEditTriggers(Qt::NoEditTriggers)进行上述所有操作,然后在需要时将列设置为可编辑。 但是,此选项会使所有列均不可编辑。
但是我没有在任何论坛中看到有人抱怨这个问题。所以我一定犯了一些愚蠢的错误。
如果有人遇到过这样的问题,请帮忙回答。
我通过Google和Stackoverflow检查了许多示例,但未能实现此目标。我尝试过的一些选项如下:
我通过调用insertRow(rownumber)来动态添加行。
1.尝试1:在动态插入行时执行以下操作 - 在UI对话框中启用编辑触发器 - 使用以下代码添加列以禁用编辑: QTableWidgetItem qit(""); qit.setflags(qit.flags() & ~Qt::ItemIsEditable) qtable.setitem(row,column, &qit); - 对于其他列,我不设置标志
以上方法没有起作用。我可以编辑所有列(甚至是我取消可编辑选项的列)。
2.尝试2: 只需使用qtable.setEditTriggers(Qt::NoEditTriggers)进行上述所有操作,然后在需要时将列设置为可编辑。 但是,此选项会使所有列均不可编辑。
但是我没有在任何论坛中看到有人抱怨这个问题。所以我一定犯了一些愚蠢的错误。
如果有人遇到过这样的问题,请帮忙回答。