Как изменить конкретный цвет буквы в текстовом поле с помощью Python - PullRequest
0 голосов
/ 30 октября 2019

Мне нужно выделить определенную букву в текстовом поле, используя python. Я использую приведенный ниже код, но он меняет весь цвет текста в текстовом поле. Просьба предложить любые другие идеи.

 if self.dlgAttribute.ui.txtPartDesc3.text()!="":
        partDescValue = self.dlgAttribute.ui.txtPartDesc3.text()
        if not partDescValue in self.englishArray:
            font.setPointSize(11)
            self.dlgAttribute.ui.txtPartDesc3.setFont(font)
            self.dlgAttribute.ui.txtPartDesc3.setStyleSheet(_fromUtf8("color: rgb(255, 162, 0);\n"
            "background-color: rgb(41, 91, 170);\n"
            "font: 750 10pt \"Arial\";"))
        else:
            font.setPointSize(11)
            self.dlgAttribute.ui.txtPartDesc3.setFont(font)
            self.dlgAttribute.ui.txtPartDesc3.setStyleSheet(_fromUtf8("color: rgb(0,0,0);\n"
            "background-color: rgb(255, 255, 255);\n"
            "font: 750 10pt \"Arial\";"))
    else:
        font.setPointSize(11)
        self.dlgAttribute.ui.txtPartDesc3.setFont(font)
        self.dlgAttribute.ui.txtPartDesc3.setStyleSheet(_fromUtf8("color: rgb(0,0,0);\n"
        "background-color: rgb(255, 255, 255);\n"
        "font: 750 10pt \"Arial\";"))

1 Ответ

0 голосов
/ 30 октября 2019

Один из способов сделать это - использовать поле расширенного текста, которое доступно только для чтения, затем скопировать содержимое простого текста в поле ввода и заменить тексты, которые вы хотите выделить, в QTextFormat или т. Д.

https://doc.qt.io/qt-5/richtext.html

Или, более простым способом является преобразование текста в HTML, а затем его динамическая визуализация с помощью QWebView.

Отображение (рендеринг) HTML изстрока в QT

...