IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Avoir les QMessageBox traduits

De WikiDeveloppez.

(Différences entre les versions)
(Nouvelle page : '''' Avoir les QMessageBox traduits (Yes/No => Oui/Non ), même avec cx_freeze '''' [mise à jour le 13/2/2015] ===== Problématique ===== Vous avez fait un joli programme en PyQt...)
Voilà le code à insérer (Python 3), ce qui donnera pour le code de démarrage standard:
Voilà le code à insérer (Python 3), ce qui donnera pour le code de démarrage standard:
-
<code python>
+
<tt>
from PyQt4 import QtCore, QtGui
from PyQt4 import QtCore, QtGui
# ...
# ...
     fen.show()
     fen.show()
     sys.exit(app.exec_())
     sys.exit(app.exec_())
-
</code>
+
</tt>
===== Solution pour un exécutable "cx_freeze" =====
===== Solution pour un exécutable "cx_freeze" =====
   * 1- pendant le traitement par cx_freeze, il faut recopier le contenu du répertoire cherché (répertoire translations de PyQt4 à trouver en fonction de votre OS) dans un sous-répertoire "translations". Cela peut se faire automatiquement en utilisant l'option "include_files":
   * 1- pendant le traitement par cx_freeze, il faut recopier le contenu du répertoire cherché (répertoire translations de PyQt4 à trouver en fonction de votre OS) dans un sous-répertoire "translations". Cela peut se faire automatiquement en utilisant l'option "include_files":
-
\\
 
Pour le setup.py de cx_freeze (en plus des éventuelles autres copies à faire par l'option "include_files"):
Pour le setup.py de cx_freeze (en plus des éventuelles autres copies à faire par l'option "include_files"):
-
<code python>
+
<tt>
if sys.platform == "win32":
if sys.platform == "win32":
     repexe = os.path.dirname(sys.executable)  # repertoire de python.exe
     repexe = os.path.dirname(sys.executable)  # repertoire de python.exe
else:
else:
     pass  # cas du Mac OSX non traité ici
     pass  # cas du Mac OSX non traité ici
-
</code>
+
</tt>
   * 2- il faut donner la possibilité au programme exécutable de trouver les fichiers de traduction: on fait ça facilement avec un simple fichier qt.conf qui donne les bonnes adresses:
   * 2- il faut donner la possibilité au programme exécutable de trouver les fichiers de traduction: on fait ça facilement avec un simple fichier qt.conf qui donne les bonnes adresses:
-
\\
 
Fichier qt.conf, à placer simplement au même niveau que l'exécutable (exe sous Windows):
Fichier qt.conf, à placer simplement au même niveau que l'exécutable (exe sous Windows):
-
<code>
+
<tt>
[Paths]  
[Paths]  
Translations = translations
Translations = translations
-
</code>
+
</tt>
Et là, ça marche dans tous les cas.  
Et là, ça marche dans tous les cas.  
A noter aussi que ce qui précède pour le répertoire "translations" (recopie et adresse) vaut aussi pour le répertoire "plugins" qui permettra, entre autres, à votre exécutable de retrouver les pilotes d'accès aux systèmes de gestion de base de données (sqlite3, mysql, ...).
A noter aussi que ce qui précède pour le répertoire "translations" (recopie et adresse) vaut aussi pour le répertoire "plugins" qui permettra, entre autres, à votre exécutable de retrouver les pilotes d'accès aux systèmes de gestion de base de données (sqlite3, mysql, ...).
-
 
-
\\
 
-
Amusez-vous bien!
 

Version du 13 février 2015 à 09:33

Contacter le responsable de la rubrique Accueil