【问题标题】:Python - pyqt5 - Set text to qtextbrowser with different colorsPython - pyqt5 - 将文本设置为具有不同颜色的 qtextbrowser
【发布时间】:2018-09-25 21:07:49
【问题描述】:

我有一个字符串数组,其中包含拼写正确的单词和拼写错误的单词。我想将所有这些单词设置为 qtextbrowser,并且我想将拼写错误的单词设为 red 颜色。

wordlist = ['correct1', 'correct2', 'incorrect1', 'correct3', 'incorrect2']

【问题讨论】:

    标签: python qt pyqt5 qtextbrowser


    【解决方案1】:

    您可以将拼写错误的单词包裹在 html 标记中,并将内联样式设置为显示红色。

    def check_misspelled(self, word):
        if ...:  # check if word is misspelled here
            word = '<span style=\" color: #ff0000;\">%s</span>' % word
        self.text_browser.append(word)
    

    【讨论】:

    • self.text_browser.append(word) 此方法每次都以换行符输出。所以每个单词都在换行符中。你能给我一个解决方案吗?
    • 收集列表中的单词并使用 join 语句立即将其附加到文本浏览器。 self.text_browser.append(' '.join(x for x in collected_words))
    • 颜色不适用于数字。这是为什么呢?
    • 我不确定你的意思,它适用于我的数字。
    • 不仅适用于数字,也适用于特殊字符,它对我不起作用。我认为原因是我将数字与我的母语字体 (#සිංහල) 一起使用。当我将数字与英语一起使用时,它可以工作。
    【解决方案2】:
    cursor = self.textBrowser.textCursor()
    cursor.insertHtml('''<p><span style="color: red;">{} </span>'''.format(word))
    

    这将解决“每次都附加到换行符”的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-04
      • 1970-01-01
      • 2021-11-29
      • 1970-01-01
      • 2020-08-19
      • 2021-11-19
      • 2020-03-17
      相关资源
      最近更新 更多