>

PyQt 및 Qt4를 통해 개발 된 GUI를 개발 중입니다. 내 GUI에는 다양한 데이터가 기록 된 QTextEdit이 있습니다. QTextEdit 내에서 한 단어의 색상을 조작 할 수있는 방법이 있습니까?

예를 들어

redText = "I want this text red"
self.myTextEdit.write(redText)
blackText = "And this text black"
self.myTextEdit.append(blackText)

이것이 가능합니까? 그렇다면 어떻게해야합니까?

안녕하세요,

스도 !!


  • 답변 # 1

    풍부한 텍스트를 제공해야합니다. <span> 를 만들어서 할 수 있습니다  태그 및 color 설정  속성을 RGB 값으로 :

    redText = "<span style=\" font-size:8pt; font-weight:600; color:#ff0000;\" >"
    redText.append("I want this text red")
    redText.append("</span>")
    self.myTextEdit.write(redText)
    blackText = "<span style=\" font-size:8pt; font-weight:600; color:#000000;\" >"
    blackText.append("And this text black")
    blackText.append("</span>")
    self.myTextEdit.append(blackText)
    
    

  • 답변 # 2

    사람들이 사용한 다른 방법에 대한 연구가 끝난 후, 나는 그것을 알아 내고 공유하고 싶었습니다. QTextEdit으로 ".setHtml"기능을 시도했지만 작동하지 않았습니다.

    텍스트 색상을 변경하고 텍스트를 추가 한 다음 다시 변경하면 색상을 변경 한 후에 추가 된 텍스트는 해당 색상으로 바뀌지 만 다른 것은 없습니다.

    예제입니다.

    redColor = QColor(255, 0, 0)
    blackColor = QColor(0, 0, 0)
    self.myTextEdit.setTextColor(redColor)
    redText = "I want this text red"
    self.myTextEdit.write(redText)
    
    self.myTextEdit.setTextColor(blackColor)
    blackText = "And this text black"
    self.myTextEdit.append(blackText)
    
    

    또한 추가하고 싶습니다. "QTextEdit"클래스에서 ".write"및 ".append"함수가 작동하지 않습니다. 당신의 것이 확실하지 않지만 나를 위해 일한 것은 ".insertPlainText"기능이었습니다. 문자열을 "QString"으로 변환하십시오

    blackText = QString(blackText)
    
    

  • 답변 # 3

    풍부한 텍스트를 제공해야합니다. 태그를 만들고 color 속성을 RGB 값으로 설정하면됩니다 :

    redText = "<span style=\" font-size:8pt; font-weight:600; color:#ff0000;\" >"    
    redText.append("I want this text red")
    redText.append("</span>")
    self.myTextEdit.write(redText)
    blackText = "<span style=\" font-size:8pt; font-weight:600; color:#000000;\" >"   
    blackText.append("And this text black")
    blackText.append("</span>")
    self.myTextEdit.append(blackText)
    
    

    공유 편집

    answer. 6 월 18 일 14시 13:45에 네 자트 19.7k84875

    이 시도, 그것은 제공합니다 : 디버깅 된 프로그램에서 처리되지 않은 예외 AttributeError가 발생했습니다. " 'str'객체에는 'append'속성이 없습니다" "

  • 답변 # 4

    Najat의 대답은".append () "를"+ = ":

    redText = "<span style=\" font-size:8pt; font-weight:600; color:#ff0000;\" >"
    redText += "I want this text red"
    redText += "</span>"
    self.myTextEdit.write(redText)
    blackText = "<span style=\" font-size:8pt; font-weight:600; color:#000000;\" >"
    blackText += "And this text black")
    blackText += "</span>"
    self.myTextEdit.append(blackText)
    
    

관련 자료

  • 이전 hybris 서버 시작을 도와주세요
  • 다음 루비 pdf 리더를 사용하여 pdf 파싱