QTextBrowser中默认的设置:
setExtensionType("html", "text/htmlcharset=iso8859-1")
setExtensionType("htm", "text/htmlcharset=iso8859-1")
setExtensionType("txt", "text/plain")
setExtensionType("xml", "text/xmlcharset=UTF-8")
如果html文件是GB2312编码的则会出现乱码,解决的方法如下:
QTextBrowser *m_phtmlBrowser
......
QMimeSourceFactory *factory=m_phtmlBrowser->mimeSourceFactory()
factory->setExtensionType("htm", "text/htmlcharset=GB2312")
factory->setExtensionType("html", "text/htmlcharset=GB2312")
factory->addFactory(factory)
......
m_phtmlBrowser->setSource(filename)
如果从应用层面考虑,Qt能直接操作到系统API,当然是Qt强了。但是从这两个东西本身,用的都是它预先提供的样式、交互罢了。如果它没提供那就没办法,如果你自己去调系统的API实现,那又和Qt没有什么关系。没有谁“更先进, 那个更强大”一说
感觉自己去手动解析HTML文档有点费事。我的思路:
把你的帮助文档做成带目录的(无非加一些锚或者用一些Frame),然后使用Qt中的QWebView把这些HTML文档呈现出来。
由于你的网页本身就带目录,所以显示出来也就自然带目录了。
而且,这样的话,你的文档也可以单独查看。