This is the class ... I think I do not omit anything important:
class CambiaValorCommand : public QUndoCommand
{
public:
CambiaValorCommand(const QModelIndex &indiceAntiguo, const QModelIndex &indiceNuevo, const QVariant &value, MiModel* m, QString
descripcion, QUndoCommand* parent = nullptr);
void undo();
void redo();
int LeeFila() const;
int LeeColumna() const;
private:
(...)
}
And then:
const QUndoCommand* com = nullptr;
if (pila->count()-1>=0)
{
com = pila->command(pila->count()-1);
}
const CambiaValorCommand* com1 = dynamic_cast<const CambiaValorCommand*>(com);//funciona
//const CambiaValorCommand* com1 = qobject_cast<const CambiaValorCommand*>(com);//NO funciona