Как задать стили QPlainText?
Мне нужно задать стили только для текста не трогая весь едит. Как это можно сделать с программы Qt Designer?
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Не уверен, что правильно понял, то что вы сказали задать стили только для текста не трогая весь едит.
Но попробуйте так:
1.
2.
3. Нажимаем Ctrl+R и начинаем что-нибудь писать.
Update
В Qt Designer не получилось, но руками можно так:
import sys
from PyQt5.Qt import *
class Template(QWidget):
def __init__(self):
super().__init__()
self.textbox = QPlainTextEdit()
self.textbox.appendHtml(f"<span style='background-color: rgb(155, 155, 155);'>Hello World</span>")
fixedFont = QFontDatabase.systemFont(QFontDatabase.FixedFont)
fixedFont.setPointSize(15)
fixedFont.setBold(True)
self.textbox.setFont(fixedFont)
grid = QGridLayout(self)
grid.addWidget(self.textbox)
self.textbox.setFocus() #@
self.textbox.selectAll()
selection = QTextEdit.ExtraSelection()
color = QColor(155, 155, 155).lighter()
selection.format.setBackground(color)
selection.cursor = self.textbox.textCursor()
self.textbox.setExtraSelections([selection])
cursor = self.textbox.textCursor()
cursor.setPosition(cursor.position())
self.textbox.setTextCursor(cursor)
if __name__ == '__main__':
app = QApplication(sys.argv)
# палитра для переключения на темные цвета:
app.setStyle("Fusion")
palette = QPalette()
palette.setColor(QPalette.Window, QColor(53, 53, 53))
palette.setColor(QPalette.WindowText, Qt.white)
palette.setColor(QPalette.Base, QColor(25, 25, 25))
palette.setColor(QPalette.AlternateBase, QColor(53, 53, 53))
palette.setColor(QPalette.ToolTipBase, Qt.white)
palette.setColor(QPalette.ToolTipText, Qt.white)
palette.setColor(QPalette.Text, Qt.blue) # Qt.white
palette.setColor(QPalette.Button, QColor(53, 53, 53))
palette.setColor(QPalette.ButtonText, Qt.white)
palette.setColor(QPalette.BrightText, Qt.red)
palette.setColor(QPalette.Link, QColor(42, 130, 218))
palette.setColor(QPalette.Highlight, QColor(42, 130, 218))
palette.setColor(QPalette.HighlightedText, Qt.black)
app.setPalette(palette)
gui = Template()
gui.resize(350, 350)
gui.show()
sys.exit(app.exec_())




