#from __future__ import unicode_literals # -*- coding: utf-8 -*- import sys from PyQt4.QtCore import * from PyQt4.QtGui import * from ui.ecran_saisie import Ui_saisi_fenetre class EcranSaisie(QDialog): """boite de dialogue d'affichage de texte longs""" def __init__(self, parent=None): """initialisation de la fenetre - le controle source est le widget a remettre a jour avec le texte a la fermeture""" super (EcranSaisie, self).__init__() self._resultat = "" self.createWidgets() def createWidgets(self): """construction de l'interface""" self.ui = Ui_saisi_fenetre() self.ui.setupUi(self) self.connect(self.ui.saisi_annuler, SIGNAL("clicked()"), self.annuler, Qt.UniqueConnection) self.connect(self.ui.saisi_ok, SIGNAL("clicked()"), self.ok, Qt.UniqueConnection) self.ui.saisi_ok.setShortcut("Enter") self.ui.saisi_reponse.setFocus() def afficher(self, texte = "Saisir votre texte ici:"): self.ui.saisi_txt.setText(QString.fromUtf8(texte)) def resultat(self): self._resultat = self.ui.saisi_reponse.text().toUtf8() return self._resultat def ok(self): self.done(1) def annuler(self): self._resultat = "" self.done(0) def dmSaisie(txt): ecran = EcranSaisie() ecran.afficher(txt) ecran.show() ecran.exec_() retour = ecran.resultat() del ecran return retour if __name__ == "__main__": app = QApplication(sys.argv) print dmSaisie("test: saisie") r = app.exec_() exit(r)