Ajouter du texte à QPlainTextEdit en PyQT (le résultat est un journal d'état)
Iam essayer de construire un StatusLog, chaque mouvement qui se passe sur l'application.
Par exemple, l'utilisateur clique sur le bouton1, le progressBox doit recevoir une chaîne comme "l'utilisateur a cliqué sur le button1".
J'ai cherché et trouvé un lien mais je ne peux pas mettre que de travail, je ne sais pas comment.
Lien: Ajouter plus d'une ligne pour un QTextEdit PyQt
M'est donné chaque fois que j'essaie, AttributeError: 'QPlainTextEdit' objet n'a pas d'attribut 'insertText'
Merci pour tout.
En Ce Qui Concerne Meilleur.
from PyQt4 import QtCore, QtGui
import sys, os
from math import ceil
from PyQt4 import QtCore, QtGui, QtNetwork
from qrtools import QR
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
_fromUtf8 = lambda s: s
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
(..)
#The button
self.groupBoxAuthbtn.setSizePolicy(sizePolicy)
self.groupBoxAuthbtn.setTitle(_fromUtf8(""))
self.groupBoxAuthbtn.setObjectName(_fromUtf8("groupBoxAuthbtn"))
self.horizontalLayout_2 = QtGui.QHBoxLayout(self.groupBoxAuthbtn)
self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
self.btnAuthenticate = QtGui.QPushButton(self.groupBoxAuthbtn)
self.btnAuthenticate.setEnabled(True)
self.btnAuthenticate.setText(QtGui.QApplication.translate("MainWindow", "Auth from Webcam", None, QtGui.QApplication.UnicodeUTF8))
self.btnAuthenticate.setObjectName(_fromUtf8("btnAuthenticate"))
self.horizontalLayout_2.addWidget(self.btnAuthenticate)
self.horizontalLayout.addWidget(self.groupBoxAuthbtn)
#self.btnAuthenticate.clicked.connect(self.handleTest)
(...)
# THE STATUS LOG
self.groupBoxProgress = QtGui.QGroupBox(self.centralwidget)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.groupBoxProgress.sizePolicy().hasHeightForWidth())
self.groupBoxProgress.setSizePolicy(sizePolicy)
self.groupBoxProgress.setTitle(QtGui.QApplication.translate("MainWindow", "Status", None, QtGui.QApplication.UnicodeUTF8))
self.groupBoxProgress.setAlignment(QtCore.Qt.AlignCenter)
self.groupBoxProgress.setObjectName(_fromUtf8("groupBoxProgress"))
self.verticalLayout_3 = QtGui.QVBoxLayout(self.groupBoxProgress)
self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
#Progress
self.progressBox = QtGui.QPlainTextEdit(self.groupBoxProgress)
self.progressBox.setPlainText(QtGui.QApplication.translate("MainWindow", "This is the all work report..", None, QtGui.QApplication.UnicodeUTF8))
self.progressBox.setObjectName(_fromUtf8("progressBox"))
self.verticalLayout_3.addWidget(self.progressBox)
self.verticalLayout.addWidget(self.groupBoxProgress)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 847, 25))
self.menubar.setObjectName(_fromUtf8("menubar"))
self.menuFile = QtGui.QMenu(self.menubar)
self.menuFile.setTitle(QtGui.QApplication.translate("MainWindow", "File", None, QtGui.QApplication.UnicodeUTF8))
self.menuFile.setObjectName(_fromUtf8("menuFile"))
self.menuAbout = QtGui.QMenu(self.menubar)
self.menuAbout.setTitle(QtGui.QApplication.translate("MainWindow", "About", None, QtGui.QApplication.UnicodeUTF8))
self.menuAbout.setObjectName(_fromUtf8("menuAbout"))
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtGui.QStatusBar(MainWindow)
self.statusbar.setObjectName(_fromUtf8("statusbar"))
MainWindow.setStatusBar(self.statusbar)
self.toolBar = QtGui.QToolBar(MainWindow)
self.toolBar.setWindowTitle(QtGui.QApplication.translate("MainWindow", "toolBar", None, QtGui.QApplication.UnicodeUTF8))
self.toolBar.setObjectName(_fromUtf8("toolBar"))
MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
self.actionExit = QtGui.QAction(MainWindow)
self.actionExit.setText(QtGui.QApplication.translate("MainWindow", "Exit", None, QtGui.QApplication.UnicodeUTF8))
self.actionExit.setShortcut(QtGui.QApplication.translate("MainWindow", "Q", None, QtGui.QApplication.UnicodeUTF8))
self.actionExit.setObjectName(_fromUtf8("actionExit"))
self.actionCredits = QtGui.QAction(MainWindow)
self.actionCredits.setText(QtGui.QApplication.translate("MainWindow", "Credits", None, QtGui.QApplication.UnicodeUTF8))
self.actionCredits.setShortcut(QtGui.QApplication.translate("MainWindow", "A", None, QtGui.QApplication.UnicodeUTF8))
self.actionCredits.setObjectName(_fromUtf8("actionCredits"))
self.menuFile.addSeparator()
self.menuFile.addAction(self.actionExit)
self.menuAbout.addAction(self.actionCredits)
self.menubar.addAction(self.menuFile.menuAction())
self.menubar.addAction(self.menuAbout.menuAction())
self.retranslateUi(MainWindow)
QtCore.QObject.connect(self.actionExit, QtCore.SIGNAL(_fromUtf8("activated()")), MainWindow.close)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
MainWindow.setTabOrder(self.btnAuthenticate, self.progressBox)
def retranslateUi(self, MainWindow):
pass
Im curieux de savoir où vous avez même appris que
insertText()
méthode de référence? Avez-vous jeter un oeil à la documentation pour voir quelles ont été les méthodes disponibles pour un QPlainTextEdit? Ou étiez-vous juste de deviner? Aussi, je vous recommande de ne pas utiliser votre ui -> py fichiers convertis de Concepteur de modifier et d'ajouter du code. Vous devez l'importer dans votre propre module directement.
OriginalL'auteur Rafael Cardoso | 2012-03-23
Vous devez vous connecter pour publier un commentaire.
Essayer
insertPlainText()
à la place. La documentation ne mentionne pasinsertText
donc l'erreur est assez descriptif.OriginalL'auteur ChristopheD
Vous avais besoin d'utiliser la
.appendPlainText(text)
fonction pour le faire. Voici la documentation.OriginalL'auteur Nicholas Smith