QTextEdit и абзацный отступ
Как добавить абзацный отступ в данном виджете по типу, как в ворде?
Чтобы при копировании не добавлялись никакие пробелы, табы...
Данный способ не работает: .
Текст также идет без абзацного отступа.
На картинке пример из ворд как примерно нужно:
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для текста редактирования текста.
Входной текст интерпретируется как форматированный текст в формате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())

