1

QTabWidget の新しいタブで QWebFrame に URL をロードしています。次に、タブ テキストを HTML ドキュメントの に設定します。これはほとんどの場合問題なく動作しますが、明らかに QWebElement::toPlainText() は生のマークアップ テキストを返します。そのため、HTML コメントが含まれている場合、タブ テキストを「My Title」のようなものに設定することになります。<: などの他のマークアップでも同じことができると思います。

コメントを削除する最良の方法は何ですか? QWebElement のコメントの子要素を特定する方法がわかりません。

要素には単純な文字列のみを含める必要があるため、正規表現を使用して、QWebElement::toPlainText() によって返される文字列からコメントを削除することに頼ることができると思います。

代わりに、QWebElement のタイトル テキストを QDomDocument にロードし、そこからコメント要素を削除する必要がありますか? それでも少し不格好になり始めています。


QDomDocument の使用はそれほど悪くはありませんでした。

QDomDocument titleDoc;
titleDoc.setContent(QString("<x>%1</x>").arg(webFrame->title()));
m_tabWidget->setTabText(index, titleDoc.documentElement().text());

それはちょうど大きなハンマーのように見えました。

4

0 に答える 0