【问题标题】:pyQt5 pass a file object to QWebEngineViewpyQt5 将文件对象传递给 QWebEngineView
【发布时间】:2017-10-28 20:48:29
【问题描述】:

如何将主应用程序中打开的文件发送到 QWebEngineView 中的页面并通过 javascript FileReader() 函数处理它,因为它是由 QWebEngineView 中的 html5 文件输入打开的

这是我的代码的一部分

# -*- coding: utf-8 -*-
import sys,  os
from PyQt5.QtWidgets import ( QApplication,  QMainWindow)
from PyQt5.QtCore import QUrl
import PyQt5.QtWebEngineWidgets as QtWebEngineWidgets
import interface

class MyWindow(QMainWindow):

    def __init__(self, parent=None):
        QMainWindow.__init__(self, parent)
        self.ui = interface.Ui_MainWindow()
        self.ui.setupUi(self)

        web_view = QtWebEngineWidgets.QWebEngineView()
        self.web_view = web_view
        self.ui.verticalLayout_navigateur.addWidget(web_view)
        url = self.local_url("src/index.html")
        self.web_view.load(url)

        f = open('myfile.json', 'r') 
        #send f to self.web_view and handle it by javascript FileReader() function
    def local_url(self, relativePath):
        absolutePath = os.path.abspath(relativePath)
        url = QUrl.fromLocalFile(absolutePath)
        return url
if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MyWindow()
    window.show()
    sys.exit(app.exec_())

谢谢

【问题讨论】:

  • 我投票结束这个问题,因为 Stack Overflow 不是代码编写服务。
  • 我没有找到怎么做,或者即使可以做到,任何帮助都是值得的,我不要求完整的代码,只是指南

标签: python c++ qt pyqt


【解决方案1】:

我找到了一个替代解决方案,它非常简单,而不是发送目标文件以使用 javascript 读取,我只需在主应用程序中读取它并通过 QWebChannel 注入内容

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-31
    • 1970-01-01
    • 2016-02-18
    • 2020-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多