Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何解决Pyqt5加载html崩溃时创建web浏览器_Python_Pyqt5_Qwebengineview - Fatal编程技术网

Python 如何解决Pyqt5加载html崩溃时创建web浏览器

Python 如何解决Pyqt5加载html崩溃时创建web浏览器,python,pyqt5,qwebengineview,Python,Pyqt5,Qwebengineview,我通过PyQt5创建了一个web浏览器,如果我加载url=”http://www.google.com“没有任何问题,但是如果我加载url=”,运行代码,小部件就会崩溃 from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * from PyQt5.QtWebEngineWidgets import * import sys class MainWindow(QMainWindow)

我通过PyQt5创建了一个web浏览器,如果我加载url=”http://www.google.com“没有任何问题,但是如果我加载url=”,运行代码,小部件就会崩溃

from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtWebEngineWidgets import *
import sys  

class MainWindow(QMainWindow):
    """docstring for MainWindow"""
    def __init__(self, *arg,**kwargs):
        super(MainWindow, self).__init__(*arg,**kwargs)
        self.setWindowTitle("Load huobi exchange bar")

        self.browser = QWebEngineView()
        self.browser.setUrl(QUrl("http://192.168.0.106/get.html"))

        self.setCentralWidget(self.browser)


app = QApplication(sys.argv)

window = MainWindow()
window.show()

app.exec_()
下面是get.html的内容

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>huobi exchange bar</title>
</head>
<body>
  <!-- TradingView Widget BEGIN -->
  <div class="tradingview-widget-container">
    <div class="tradingview-widget-container__widget"></div>
    <div class="tradingview-widget-copyright"><a href="https://cn.tradingview.com/crypto-screener/" rel="noopener" target="_blank"><span class="blue-text">sample</span></a>TradingView</div>
    <script type="text/javascript" src="https://s3.tradingview.com/external-embedding/embed-widget-screener.js" async>
    {
    "width": 1100,
    "height": 512,
    "defaultColumn": "overview",
    "defaultScreen": "general",
    "market": "crypto",
    "showToolbar": true,
    "colorTheme": "dark",
    "locale": "zh_CN"
  }
    </script>
  </div>
  <!-- TradingView Widget END -->
</body>
</html>

霍比交换吧
TradingView
{
“宽度”:1100,
“高度”:512,
“defaultColumn”:“概述”,
“defaultScreen”:“常规”,
“市场”:“加密”,
“showToolbar”:正确,
“颜色主题”:“黑色”,
“区域设置”:“zh_CN”
}

我的问题是:如何解决加载async js时的窗口崩溃问题?

我不理解为什么应用程序会中断,因为即使url不存在,也应该显示错误页面,因此如果您需要更多错误详细信息,应该在控制台/CMD中运行代码

另一方面,您不指示任何服务器执行HTML,此外,不需要使用“”主机,只需将其作为本地文件加载:

├── get.html
└── main.py
导入操作系统
导入系统
从PyQt5.QtCore导入QUrl
从PyQt5.QtWidgets导入QApplication,QMainWindow
从PyQt5.QtWebEngineWidgets导入QWebEngineView
类主窗口(QMainWindow):
“”“主窗口的文档字符串”“”
定义初始值(self,*arg,**kwargs):
超级(主窗口,自我)。\uuuuu初始化(*arg,**kwargs)
self.setWindowTitle(“加载huobi交换条”)
self.browser=QWebEngineView()
current_dir=os.path.dirname(os.path.realpath(uu文件_uu))
filename=os.path.join(当前目录“get.html”)
url=QUrl.fromLocalFile(文件名)
self.browser.setUrl(url)
self.setCentralWidget(self.browser)
如果名称=“\uuuuu main\uuuuuuuu”:
app=QApplication(sys.argv)
窗口=主窗口()
window.show()
sys.exit(app.exec_())

您有加载HTML的服务器吗?是的,我有。我在本地主机中有一个服务器。我可以直接在chrome中打开get.html。然后你必须说明你如何运行你的主机,您必须提供更多信息……正如我在回答中指出的那样:建议您在CMD/控制台中运行代码,因为您将能够获得有关错误的更多信息。我的意思是,如果html的内容不包括如下javascript:“src=”“async”,小部件将正常显示。感谢您的帮助。我在我的电脑上复制你的代码,执行它,但小部件只显示大约8秒,然后自动关闭。@Baren你在哪里运行它?在控制台/CMD中还是在某些IDE中?你的操作系统是什么?@Baren请用一个线程回答我,你使用的是什么版本的PyQt5?除了前面的问题,我在IDE(升华)和CMD中运行它,我的操作系统是win10@Baren对于CMD,您是否收到错误消息?您使用什么版本的python和pyqt5?