Estoy mostrando un menú emergente para seleccionar algunos valores en un QTableWidget. El elemento más bajo es una entrada de "Modificar lista", cuando lo selecciono, una nueva ventana debería aparecer automáticamente y el QComboBox debería desaparecer y la celda volver al estado Qt :: DisplayRole.¿Cómo puedo decirle a QTableWidget que termine de editar una celda?
Ahora Qt tiene todas esas bonitas API-llamadas como QTableWidget.edit()
y QTableWidget.editItem()
, lo que realmente estoy buscando es un QTableWidget.endEditing()
, preferiblemente sin que especifica el índice de la célula, a pesar de que podría conseguir que el uso de esta llamada:
table.currentIndex()
... pero no sé si puedo garantizar que la celda actual sea la celda que se está editando en todo momento.
¿Hay una API para cerrar ese tipo de editores?
Su el primero funcionó, el segundo no. No importa que pierda enfoque porque muestro un diálogo modal. Marcaré esta respuesta como correcta si nadie va a proponer una solución más natural. –
Acabo de encender un ejemplo para probar EditTriggers y parece que funciona (C++, Qt 4.4.3). Puedo hacer clic en cada celda y tal, pero no puedo hacer doble clic en ellas para editar ni nada. No sé por qué no funciona para ti. * shrug * –
Se trata de cerrar el editor, no poder editarlo. La próxima vez que haga doble clic debería abrir el editor nuevamente. –