PyQt/QTextEdit
Apparence
< PyQt
Description
[modifier | modifier le wikicode]QTextEdit est un widget très puissant mettant à disposition une zone d'édition de texte d'une page supportant du contenu mis en forme. Il a été créé dans le but d'être le plus efficace possible, même avec beaucoup de contenu, et répondre le plus rapidement possible aux actions de l'utilisateur. Il fonctionne principalement selon 4 modes :
- éditeur de texte standard : texte standard sans mise en forme ; même si le texte contient des balises de mise en forme, lors de la lecture du contenu du widget les balises sont supprimées ;
- éditeur de texte avec mise en forme : texte supportant la mise en forme ;
- afficheur de texte : dans ce mode il n'est pas possible de modifier le texte, seulement de le consulter ;
- afficheur de fichiers logs : ce mode est identique à l'affichage de texte, seule la mise en forme du texte est désactivée.
Vu la quantité assez importante de méthodes et de fonctionnements nous ne pouvons que vous conseiller de consulter la documentation de référence disponible à l'adresse http://doc.trolltech.com/3.3/qtextedit.html.
Constructeur
[modifier | modifier le wikicode]# Constructeurs pour la classe QTextEdit
QTextEdit ( QString text, QString context = QString.null, QWidget parent = None, str
name = "" )
QTextEdit ( QWidget parent = None, str name = "" )
Exemple
[modifier | modifier le wikicode]
PyQt3.* #!/usr/bin/python
# -*- coding : utf-8 -*-
#
# qtextedit.py
# Programme exemple pour la classe QTextEdit
from qt import *
import sys
class Demo(QApplication) :
def init (self, args) :
QApplication. init (self,args)
# zone d'édition de texte comme widget principal
self.textedit = QTextEdit()
self.textedit.resize(640,480)
# dialogue d'ouverture de fichier
s = QFileDialog.getOpenFileName("", "", None,
"Boite d'ouverture de fichier", "Choisissez un fichier")
self.file = QFile (s)
# essaie d'ouvrir le fichier et de le charger
if self.file.open(IO ReadOnly) :
self.stream = QTextStream(self.file)
self.textedit.setText(self.stream.read())
else :
print "Impossible d'ouvrir le fichier " + self.file
b = QMessageDialog.warning(None, "Erreur",
"Impossible d'ouvrir le fichier sélectionné", QMessageBox.Ok)
exit(-1)
self.textedit.show()
self.connect(self,SIGNAL("lastWindowClosed()"),self,SLOT("quit()"))
self.exec loop()
if name == "__main__" :
app=Demo(sys.argv)
PyQt4.* #!/usr/bin/python
# -*- coding : utf-8 -*-
#
# qtextedit.py
# Programme exemple pour la classe QTextEdit
import os, sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class MyWindow(QWidget):
def __init__(self, *args):
QWidget.__init__(self, *args)
label = QLabel(self.tr(u'Entrer une commande Shell et presser Entrée'))
self.LineEdit = QLineEdit()
self.TextEdit = QTextEdit()
vbox = QVBoxLayout(self)
vbox.addWidget(label)
vbox.addWidget(self.LineEdit)
vbox.addWidget(self.TextEdit)
self.setLayout(vbox)
# create connection
self.connect(self.LineEdit, SIGNAL("returnPressed(void)"),self.run_command)
def run_command(self):
cmd = str(self.LineEdit.text())
stdouterr = os.popen4(cmd)[1].read()
self.TextEdit.setText(stdouterr)
if __name__ == "__main__":
app = QApplication(sys.argv)
w = MyWindow()
w.show()
sys.exit(app.exec_())
|