QTextEdit и абзацный отступ

Как добавить абзацный отступ в данном виджете по типу, как в ворде?
Чтобы при копировании не добавлялись никакие пробелы, табы... Данный способ не работает: .
Текст также идет без абзацного отступа.

На картинке пример из ворд как примерно нужно:

Пример как нужно в WORD

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(608, 349)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.textEdit = QtWidgets.QTextEdit(self.centralwidget)
        self.textEdit.setGeometry(QtCore.QRect(143, 50, 311, 211))
        self.textEdit.setObjectName("textEdit")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 608, 21))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
        self.textEdit.setStyleSheet("QTextEdit {text-indent: 20px}")

Ответы (1 шт):

Автор решения: S. Nick

Похоже в setStyleSheet - text-indent не работает,
а если в setHtml, то работает, попробуйте.

html : QString

Это свойство предоставляет интерфейс HTML для текста редактирования текста.
Входной текст интерпретируется как форматированный текст в формате html.

import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.Qt import *


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(650, 300)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        
        self.textEdit = QtWidgets.QTextEdit(self.centralwidget)
        self.textEdit.setGeometry(QtCore.QRect(143, 50, 311, 211))
        self.textEdit.setObjectName("textEdit")
        
        MainWindow.setCentralWidget(self.centralwidget)

        layout = QVBoxLayout(self.centralwidget)
        layout.addWidget(self.textEdit)
    

class MainWindow(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()
        
        self.setupUi(self)

        self.textEdit.setStyleSheet("""
            QTextEdit {    
                color:red;
                font-size: 18px;
                text-indent: 70px;     /*  <---- похоже тут не работает */ 
                border: 15px solid green;
            }""")
            
        self.textEdit.setHtml("""
            <p style='-qt-block-indent: 0; 
/* а тут работает --> vvvvvvvvvvvvvvvvvv   */
                      text-indent: 20px;'> 
Testing. Как добавить абзацный отступ в данном виджете по типу, как в ворде? 
Чтобы при копировании не добавлялись никакие пробелы, табы... 
Данный способ не работает: . Текст также идет без абзацного отступа. 
На картинке пример из ворд как примерно нужно
</p>
        """)
      

if __name__ == "__main__":
    app = QApplication(sys.argv)
    w = MainWindow()
    w.show()
    sys.exit(app.exec())

введите сюда описание изображения

→ Ссылка