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