pythonpyqtpyqt4editingqtablewidget

QTableWidget how to have a cell selected for editing from code and/or with single click


Two part question: I have a 10x10 QTableWidget with QTableWidgetItem in each cell. For some reason, clicking on a cell is not sufficient to edit it, I need to double-click the cell to enter it.

  1. Is there a way to change this behavior to single click

  2. Is there a way to have 2nd cell in 1st row selected and ready for editing by default when window is created?


Solution

  • You can modify the editing behaviour in various ways with setEditTriggers.

    For single-click, try:

    table.setEditTriggers(QAbstractItemView.CurrentChanged)
    

    The current edited cell can be set with editItem:

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

    To select a cell without editing it, use setCurrentCell:

    table.setCurrentCell(0, 1)