我正在将 URL 加载到 QTabWidget 的新选项卡中的 QWebFrame 中。然后我将选项卡文本设置为 HTML 文档的。这在大多数情况下都可以正常工作,但显然 QWebElement::toPlainText() 返回原始标记文本。因此,如果其中有 HTML 注释,我最终会将 Tab 文本设置为“我的标题”之类的内容。我希望它对其他标记也有同样的作用,比如 <: 等。
删除评论的最佳方法是什么?我不知道应该如何识别 QWebElement 的注释子元素。
我猜由于元素应该只包含一个简单的字符串,我可以求助于使用正则表达式从 QWebElement::toPlainText() 返回的字符串中删除注释。
我应该将 QWebElement 标题文本加载到 QDomDocument 中并从中删除评论元素吗?即使这开始被证明有点笨拙。
使用 QDomDocument 并没有那么糟糕:
QDomDocument titleDoc;
titleDoc.setContent(QString("<x>%1</x>").arg(webFrame->title()));
m_tabWidget->setTabText(index, titleDoc.documentElement().text());
它看起来就像一个大锤子。