It seems now to be resolved with:
59 # In a standard QTableView, editor parent is the viewport.
60 # viewport parent is the table.
61 try:
62 + from PySide6.QtCore import QTimer
63 viewport = editor.parent()
64 table = viewport.parent()
65
69 if idx.isValid():
70 new_idx = table.model().index(idx.row() + 1, idx.column())
71 if new_idx.isValid():
71 - print(f"Moving to next row: {new_idx.row()}")
72 - # This direct call is likely the source of the warning
73 - table.setCurrentIndex(new_idx)
74 - table.edit(new_idx)
72 + print(f"Scheduling move to next row: {new_idx.row()}")
73 + # Defer the move to the next event loop iteration
74 + def do_move():
75 + table.setCurrentIndex(new_idx)
76 + table.edit(new_idx)
77 + QTimer.singleShot(0, do_move)
78 else:
79 print(f"Parent is not QTableView: {type(table)}")
80 except Exception as e: