Com C ++ e Qt como faço para exibir um arquivo raw de 16 bits como uma imagem?

Eu estou olhando para exibir mapas de altura do jogo de vídeo Battlefield 2 como imagens na minha aplicação.
Eu sou novo em C ++ e Qt e pode ser direto, mas o que eu estou tendo problemas com a exibição de uma escala de cinza16-bit 1025x1025 2101250 imagem de bytes. Não há cabeçalho para o arquivo. Preciso acessar os pixels exibidos (não é preciso ter precisão de pixels perfeitos) para poder apontar para um pixel e obter seu valor.

O que eu tentei

Eu carreguei os dados binários em umQByteArray de um QFile e eu tentei usar oQImage::fromData função para fazer a imagem, mas eu estou fazendo um monte de erros e gastar muito tempo não chegar muito longe. É minha esperança que postar aqui me dê a (s) pista (s) de que preciso progredir. Aqui está o meu código:

void LearningBinaryReader::setupReader()
{
    qDebug("Attempting to open file..");
    QFile file("HeightmapPrimary.raw");
    if (!file.open(QFile::ReadOnly))
    {
        qDebug("Could not open file");
        return;
    } else {
        qDebug() << file.fileName() << " opened";
    }
    QByteArray data = file.readAll();
    file.flush();
    file.close();

    qDebug() << data.count() << "bytes loaded.";
}

Daqui eu estou sem saber o que fazer. Eu li algumas das documentações do Qt, mas sendo novo eu preciso de um guia na direção certa para entender esse problema e obter a solução.

Observe&nbsp;Eu sou praticamente um iniciante, então não desconte soluções fáceis que eu não poderia ter pensado. Eu gostaria de fazer isso apenas usando o framework Qt.