如何通过代码或单击选择QTableWidget中的单元格进行编辑

2 投票
2 回答
4518 浏览
提问于 2025-04-17 10:03

这是一个两部分的问题:

我有一个10x10的QTableWidget,每个单元格里都有QTableWidgetItem。出于某种原因,点击一个单元格并不能直接编辑它,我需要双击这个单元格才能进入编辑状态。

  1. 有没有办法把这个行为改成单击就可以编辑?

  2. 有没有办法在窗口创建时,默认选中第一行的第二个单元格并准备好编辑?

2 个回答

2

你还可以使用 setCurrentCell 这个方法。

比如,你可以这样写:table.setCurrentCell(0,1)

这个方法的意思是:QTableWidget.setCurrentCell (self, int row, int column),也就是说你可以指定某一行和某一列的单元格为当前选中的单元格。

3

你可以通过 setEditTriggers 来改变编辑行为,方式有很多。

如果你想要单击就编辑,可以试试:

table.setEditTriggers(QAbstractItemView.CurrentChanged)

当前正在编辑的单元格可以通过 editItem 来设置:

table.editItem(table.item(0, 1))

如果你想选择一个单元格但不想编辑它,可以使用 setCurrentCell

table.setCurrentCell(0, 1)

撰写回答