使用pyqt重新加载QWebView

时间:2017-05-17 08:13:50

标签: qt pyqt qwebview

也许这是一个微不足道的问题,但我无法解决。

我有一个带有QWebView的应用程序,可加载本地html文件。我对它感到满意,但我需要实现一个与右键单击完全相同的按钮 - > webview本身内的重载功能。

在文档中我看到有reload函数,但即使我没有得到任何错误,它似乎也无法正常工作(没有任何反应)。

这是按下按钮时调用的方法。第一次运行良好,QWebView正确加载本地html文件,而其他时候(其他图创建和相同的self.plot_path文件覆盖)我必须手动右键单击并重新加载视图。

.....
def reloadView(self):
    self.plot_path = "/tmp/tmp_plot.html"
    self.layoutw = QVBoxLayout()
    self.plot_qview.setLayout(self.layoutw)
    plot_url = QUrl.fromLocalFile(self.plot_path)
    self.plot_view = QWebView()
    self.plot_view.load(plot_url)
    self.layoutw.addWidget(self.plot_view)
    self.plot_view.reload()
    .....

我无法弄清楚是否必须销毁创建其他html本地文件的视图,或者我是否遗漏了某些内容。

1 个答案:

答案 0 :(得分:0)

您也可以尝试这样做。

view->settings()->setObjectCacheCapacities(0,0,0);

我遇到了类似的问题,即无法识别已更改的文件内容 通过reload()方法/插槽。