Oui, c'est possible. Cependant, il y a une chose à garder à l'esprit. Par défaut, le compilateur de ressources qt rcc compresse les ressources.
L'appel file.size() renvoie la taille non compressée réelle du fichier d'origine. Cependant, la ressource incorporée est compressée et a probablement une taille différente. Le fichier file.map (0, file.size()) renvoie une erreur car la taille passée à map() est plus grande que la ressource en cours de mappage. Même si vous passez la taille correcte à map(), ou une taille plus petite, la mémoire contiendra les données compressées, pas les données non compressées.
La solution consiste à ne pas compresser la ressource incorporée. Cela peut être accompli en ajoutant:
QMAKE_RESOURCE_FLAGS += -no-compress
à votre fichier de projet qt. Voir here pour l'explication de QMAKE_RESOURCE_FLAGS.
Question et réponse en une minute ... – Matthieu
Je pensais que cela a été encouragé tant que c'est quelque chose que d'autres pourraient trouver utile. Il semble qu'il y ait un badge pour ça aussi. Voir ici: http://stackoverflow.com/questions/209329/stackoverflow-should-i-answer-my-own-question-or-not, ici: http://stackoverflow.com/questions/2572/is-it -pauvre-étiquette-à-répondre-votre-propre-question et ici: http://stackoverflow.com/questions/252194/how-to-earn-the-self-learner-badge. –