10

QLabelリッチ テキストを含む があります。から実際の(表示されている)「テキスト」だけを抽出し、フォーマット用のコードは
抽出したくありません。基本的に、 other のメソッドに 似た関数が必要です。QLabel
'.toPlainText'Qt Widgets

.text()このスレッドGet plain text from QString with HTML tagsで提案されているように、単純に呼び出して文字列を操作して html タグを取り除くことはできませQString<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">

プレーンテキストを抽出するにはどうすればよいですか?

(たとえ間接的であっても、私はどんな方法にもオープンです。例えば、HTMLをプレーンテキストに変換する既存の関数)

ありがとう!

仕様:
python 2.7.2
PyQt4
Windows 7

4

2 に答える 2

18

aQTextDocumentを使用して変換を行います。

doc = QtGui.QTextDocument()
doc.setHtml(label.text())
text = doc.toPlainText()
于 2012-01-17T18:16:38.610 に答える
2

これは厄介な回避策です(pythonの場合-PyQt)

def Extract_PlainText(label):
    Rtf_text = label.text()
    Temp_Obj = QtGui.QTextEdit()
    Temp_Obj.setText(Rtf_text)
    Plain_text = Temp_Obj.toPlainText()
    del Temp_Obj
    return Plain_text

http://bytes.com/topic/net/answers/707370-convert-rtf-plain-textに触発されました

于 2012-01-17T07:59:01.910 に答える