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 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
| #!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class QtAppli(QApplication):
"Fenêtre de l'application"
# Constructeur fenêtre
def __init__(self,
argv):
# Message de contrôle
print "QtAppli (qt v%s, pyqt_v%s)" % (QT_VERSION_STR, PYQT_VERSION_STR)
# Appel constructeur de l'objet hérité
QApplication.__init__(self, argv)
# Attributs de l'application
self.argv=argv
# Widget principale
self.__mainWid=QMainWindow()
self.__mainWid.setCentralWidget(QWidget(self.__mainWid))
self.__mainWid.statusBar()
# Titre
self.__mainWid.setWindowTitle("Test qtextedit")
# Version
self.__mainWid.statusBar().showMessage(
"Qt v%s, PyQt v%s" % (
QT_VERSION_STR,
PYQT_VERSION_STR,
)
)
# Un espace de rangement général
mainLayout=QHBoxLayout(self.__mainWid.centralWidget())
# Le textedit
self.__tabItem=[]
self.__textEdit=QTextEdit()
self.connect(self.__textEdit, SIGNAL("textChanged()"), self.__slotEdited)
# La zone des boutons
layoutBtn=QVBoxLayout()
# Pour quitter
quit=QPushButton()
quit.setText("Quitter")
self.connect(quit, SIGNAL("clicked()"), self.__mainWid, SLOT("close()"))
# Rangement des boutons
layoutBtn.addWidget(quit)
# Rangement général
mainLayout.addWidget(self.__textEdit)
mainLayout.addLayout(layoutBtn)
# __init__()
# Le slot appelé quand le texte change
def __slotEdited(self):
# Petit message dans la console
print "edite [%s] (%d)" % (self.__textEdit.toPlainText(), len(self.__textEdit.toPlainText()))
# Popup
QMessageBox.information(
self.__mainWid.centralWidget(),
QString.fromUtf8("Texte modifié"),
QString.fromUtf8(
"Contenu de la zone: [%s]\n" % self.__textEdit.toPlainText()
+ "Taille saisie: [%d]" % len(self.__textEdit.toPlainText())
),
QMessageBox.Ok,
)
# __slotEdited()
# Affichage et lancement application
def run(self):
self.__mainWid.show()
self.exec_()
# run()
# class QtAppli
Appli=QtAppli(sys.argv)
Appli.run() |
Partager