爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 13296|回复: 8

[求助] 求助!PyQt5的QtWebEngineWidgets无法使用

[复制链接]
发表于 2020-6-7 18:04:11 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

今天我试着打包一个PyQt的GUI文件,失败了,一开始我以为是PyInstaller打包工具有问题,后来发现是QtWebEngineWidgets无法使用
PyQt5下与web有关的几乎都能正常导入,唯独QtWebEngineWidgets不行
from PyQt5 import QtWebChannel   正常
from PyQt5 import QtWebEngine   正常
from PyQt5 import QtWebEngineCore   正常
from PyQt5 import QtWebSockets   正常
from PyQt5 import QtWebEngineWidgets   报错!
Traceback (most recent call last):
  File "<ipython-input-5-d177d8160e32>", line 1, in <module>
    from PyQt5 import QtWebEngineWidgets
ImportError: QtWebEngineWidgets must be imported before a QCoreApplication instance is created



密码修改失败请联系微信:mofangbao
发表于 2020-6-7 20:40:13 | 显示全部楼层
改用nuitka吧,pyinstaller打包的程序打开速度太慢了...
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-7 21:52:36 | 显示全部楼层
Masterpiece 发表于 2020-6-7 20:40
改用nuitka吧,pyinstaller打包的程序打开速度太慢了...

现在最紧要的不是打包的问题了,是PyQt的网页交互用不了的问题
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-8 10:24:14 | 显示全部楼层
自问自答:重大喜讯!

经过昨天一下午的乱试,和一晚的惆怅,最终感觉症结是版本问题:anaconda版本、spyder版本、pyqt5版本要兼容
今天我在Anaconda中把有关pyqt的包升级后,问题消失了!!!界面可以正常显示网页了!!!
山重水复疑无路,柳暗花明又一村~~~
360截图20200608101930807.jpg

密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2020-6-10 12:55:05 | 显示全部楼层
Masterpiece 发表于 2020-6-7 20:40
改用nuitka吧,pyinstaller打包的程序打开速度太慢了...

nuitka打包的文件是不是太大了?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2020-6-10 16:35:13 | 显示全部楼层
hanf 发表于 2020-6-10 12:55
nuitka打包的文件是不是太大了?

pyinstaller打包的也大,只要设置让exe能移植到无Python的系统上独立运行的,都不可避免会大
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-11 19:47:25 | 显示全部楼层
Masterpiece 发表于 2020-6-10 16:35
pyinstaller打包的也大,只要设置让exe能移植到无Python的系统上独立运行的,都不可避免会大

现在能运行就不错了,好些错误都是WebEngine的问题
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-16 15:42:35 | 显示全部楼层
今天,spyder运行一个带网页的Qt转的py文件报错:
QtWebEngineWidgets must be imported before a QCoreApplication instance is created


烦恼了一阵子,也试图摸索,但总觉得不应该啊,
于是我把之前一个正常的界面py拿来运行,报了同样的错,于是明白了不是代码的错。
根据本帖之前问题的解决经验,我把conda、python、spyder都升级到最新:
1、升级condaconda update conda
2、升级anaconda:conda update anaconda升级失败,报错:PackageNotInstalledError: Package is not installed in prefix.  prefix: C:\ProgramData\Anaconda3  package name: anaconda不能升级算了,不管3、升级python:conda update python升级到3.8.34、升级spyder在anaconda中把spyder升级到4.1.3
运行正常了!哈哈
网上也有同道遇到这个问题,他解决之后说是编辑器的问题,看来spyder得定期更新啊:https://ask.csdn.net/questions/1059121
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-17 09:46:50 | 显示全部楼层
问题出在spyder!

因为摸索打包时把anaconda乱鼓捣一阵,昨天画图出了些问题,于是重装了anaconda,今天又按照昨天的步骤把conda、pip、anaconda、spyder、python升级一遍,
但是又报了昨天的错误:  File "C:\Users\Administrator\Desktop\UI2020.5.11\UI2PY\tip.py", line 30, in <module>
    from PyQt5 import QtWebEngineWidgets
ImportError: QtWebEngineWidgets must be imported before a QCoreApplication instance is created

但是,我把py文件在命令行中执行居然正常弹出窗口:
(base) C:\Users\Administrator>cd C:\Users\Administrator\Desktop\UI2020.5.11\UI2PY
(base) C:\Users\Administrator\Desktop\UI2020.5.11\UI2PY>python tip.py

看来,还是spyder编辑器有问题!
具体说来,spyder对Qt中网页控件WebEngine的支持有问题,对其他的控件尚未发现问题。

密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表