1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
from PyQt5 import QtCore, QtWidgets
from PyQt5.QtWidgets import QMainWindow, QWidget, QLabel, QLineEdit, QPushButton, QApplication, QStackedWidget
from PyQt5.QtWidgets import QHBoxLayout, QVBoxLayout, QMessageBox
import sys
import os
def initTrad(app):
locale = QtCore.QLocale.system().name()
translator = QtCore.QTranslator()
reptrad = QtCore.QLibraryInfo.location(QtCore.QLibraryInfo.TranslationsPath)
translator.load("qtbase_" + locale, reptrad) # qtbase_fr.qm
if isinstance(app, list):
print('installation traducteur')
app[0].installTranslator(translator)
return
else:
return translator
def message(fig_config=None, spécifiques=None):
msg=QMessageBox()
msg.setWindowTitle("Question")
msg.setText(fig_config)
msg.setIcon(QMessageBox.Question)
msg.setStandardButtons(QMessageBox.Cancel|QMessageBox.Ok|QMessageBox.Retry)
if spécifiques == 'spécifiques':
for t in msg.findChildren(QPushButton):
print(t.text())
trad={'&OK':"D'accord", "Retry":"Un autre fichier", "&Cancel": "Arrét immédiat"}
t.setText(trad[t.text()])
return msg.exec_()
def main(args):
app = QtWidgets.QApplication(args)
if args[1] == "direct":
print('direct')
locale = QtCore.QLocale.system().name()
translator = QtCore.QTranslator()
reptrad = QtCore.QLibraryInfo.location(QtCore.QLibraryInfo.TranslationsPath)
translator.load("qtbase_" + locale, reptrad) # qtbase_fr.qm
app.installTranslator(translator)
elif args[1] == "fonction":
print ('fonction')
app.installTranslator(initTrad(app))
elif args[1] == "liste":
print('liste')
appli=[app]
initTrad(appli)
if args[1] == 'spécifiques':
print('spécifiques')
rc = message('Le fichier de configuration', 'spécifiques')
else:
rc = message("Un message quelconque")
print('le message a renvoyé le code ' + str(rc))
return rc
if __name__ == '__main__':
import sys
sys.exit(main(sys.argv)) |
Partager