Bonjour,
Dans la documentation Qt sur les fichiers ressources (QResource), les binaires exécutables ne sont pas abordés. Je ne sais pas si on peut les intégrer et surtout les lancer par QProcess.
Qu'en pensez-vous ?
Bonjour,
Dans la documentation Qt sur les fichiers ressources (QResource), les binaires exécutables ne sont pas abordés. Je ne sais pas si on peut les intégrer et surtout les lancer par QProcess.
Qu'en pensez-vous ?
Bonjour DSGSLA
A mon avis, ce n'est pas possible :
- QProcess ne permet (à priori) que de lancer des applications à partir du nom de l'exécutable
- tu peux mettre un binaire dans les ressources mais tu ne pourras pas créer le fichier .exe avec QFile pour le lancer
- quelle idée étrange
Pourquoi ne pas fournir le fichier directement ?
L'utilisateur de l'application Qt ne dois pas pouvoir copier ou exécuter directement le binaire.
Pourquoi ? On peut copier un fichier des ressources en tant que fichier sur disque, je n'ai pas essayé avec un binaire, mais il n'y a pas de raison que ça ne marche pas pareil que pour un autre fichier.
Je pense qu'il serait possible de copier ton binaire dans les ressources dans un fichier sur disque temporaire, l'exécuter avec QProcess, puis supprimer le fichier sur disque une fois la tâche terminée. Le fichier pourra toujours être copié pendant son exécution par contre. Cela dit, c'est se compliquer la vie, à toi de voir si ça vaut vraiment le coup.
Je ne l'ai jamais fait, j'ai toujours appelé directement le fichier depuis les ressources, sans le copier sur le disque (c'est assez étrange comme démarcheOn peut copier un fichier des ressources en tant que fichier sur disque)
Tu aurais un exemple de code qui fait cela ? Pour être sur qu'on parle de la même chose.
Simplement avecC'est vrai que ça doit être un cas très rarement utile, mais dans ce projet je devais générer des fichiers sources et les compiler avec certains autres fichiers fournis par l'appli. Plutôt que les copier au niveau de l'installation, ils étaient copiés à partir du fichier ressource, peut être moins logique, mais en pratique plus simple.
Code : Sélectionner tout - Visualiser dans une fenêtre à part QFile::copy(":/fichier", "/path/to/file");
Partager