如何在QWebview中显示本地HTML?

时间:2012-03-15 00:19:46

标签: qt qwebview

我怀疑这是非常基本的,没有人费心去记录它。

我想从我的程序中编写一个HTML文件,然后将该文件加载到QWebview对象中。

当我打开QtCreator时,我可以导航到右侧URL块中的文件,它显示在QtCreator中。当我编译并运行程序时,窗口是白色的并且是空白的。

我也不希望硬编码目录,我希望它使用当前目录。

所以我猜有两个问题:

  1. 我该怎么写???在下面获取名为“reportView”的QWebview对象来显示我的本地文件?

  2. ui->reportView->load(QUrl("???"));
    

    1. 为什么QWebview对象保持空白?我怀疑连接到Google文档时出现问题,因为我收到此错误:

    2. QSslSocket: cannot call unresolved function SSLv23_client_method
      QSslSocket: cannot call unresolved function SSL_CTX_new
      QSslSocket: cannot call unresolved function SSL_library_init
      QSslSocket: cannot call unresolved function ERR_get_error
      

      谢谢。

2 个答案:

答案 0 :(得分:18)

来自网络

webView->load(QUrl("http://google.de"));

来自资源

webView->load(QUrl("qrc:///sample.html"));

从文件系统

webView->load(QUrl("file:///C:/sample.htm"));

无需QUrl::FromLocalFile,无需webView->show()

欢迎你们!

答案 1 :(得分:9)

您可以使用QUrl::fromLocalFile从绝对文件路径构建类似此"file:///path/to/file.html"的网址。

Google使用SSL,如果您使用的是Windows,则需要手动安装OpenSSL并将其DLL复制到Windows系统目录,Qt安装的bin目录或最终的可执行文件夹中。

其他平台应该已安装OpenSSL或安装包管理器。