Add text to QPlainTextEdit in PyQT (the result is a status log)

I am trying to create a StatusLog, every step that happens in the application. For example, the user pressed button 1, progressBox should get a string like "user pressed button 1".

I searched and found a link, but I can’t work it out, I don’t know how to do it.

Link: Add multiple lines to QTextEdit PyQt

Given to me every time I try, the AttributeError: 'QPlainTextEdit' object does not have the 'insertText' attribute

Thanks to everyone. Best wishes.

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 
+4
source share
2 answers

Try insertPlainText() . The documentation does not mention insertText , so the error is quite descriptive.

+9
source

To do this, you need to use the .appendPlainText(text) function. Here is the documentation for him .

+5
source

Source: https://habr.com/ru/post/1403107/


All Articles