If you read the documentation you can see that toInt
"Returns 0 if the conversion fails."
Your input does not fit in a signed 32 bit integer, so presumably the conversion fails.
You can verify this by using the ok
-parameter:
bool ok;
qint32 aa = QString("FFFFFFFF").toInt(&ok, 16);
if (ok) qDebug() << aa;
else qDebug() << "Conversion failed!";