EcranSaisie.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #from __future__ import unicode_literals
  2. # -*- coding: utf-8 -*-
  3. import sys
  4. from PyQt4.QtCore import *
  5. from PyQt4.QtGui import *
  6. from ui.ecran_saisie import Ui_saisi_fenetre
  7. class EcranSaisie(QDialog):
  8. """boite de dialogue d'affichage de texte longs"""
  9. def __init__(self, parent=None):
  10. """initialisation de la fenetre - le controle source est le widget a remettre a jour avec le texte a la fermeture"""
  11. super (EcranSaisie, self).__init__()
  12. self._resultat = ""
  13. self.createWidgets()
  14. def createWidgets(self):
  15. """construction de l'interface"""
  16. self.ui = Ui_saisi_fenetre()
  17. self.ui.setupUi(self)
  18. self.connect(self.ui.saisi_annuler, SIGNAL("clicked()"), self.annuler, Qt.UniqueConnection)
  19. self.connect(self.ui.saisi_ok, SIGNAL("clicked()"), self.ok, Qt.UniqueConnection)
  20. self.ui.saisi_ok.setShortcut("Enter")
  21. self.ui.saisi_reponse.setFocus()
  22. def afficher(self, texte = "Saisir votre texte ici:"):
  23. self.ui.saisi_txt.setText(QString.fromUtf8(texte))
  24. def resultat(self):
  25. self._resultat = self.ui.saisi_reponse.text().toUtf8()
  26. return self._resultat
  27. def ok(self):
  28. self.done(1)
  29. def annuler(self):
  30. self._resultat = ""
  31. self.done(0)
  32. def dmSaisie(txt):
  33. ecran = EcranSaisie()
  34. ecran.afficher(txt)
  35. ecran.show()
  36. ecran.exec_()
  37. retour = ecran.resultat()
  38. del ecran
  39. return retour
  40. if __name__ == "__main__":
  41. app = QApplication(sys.argv)
  42. print dmSaisie("test: saisie")
  43. r = app.exec_()
  44. exit(r)