主要因为我在html里需要使用到ActiveX插件,但是也不可能让客户只用IE打开,所以就用pyqt封装了IE内核打开网页,话不多说,上代码。

import sys
from PyQt5.QtWidgets import *
from PyQt5.QAxContainer import QAxWidget


class MainWindow(QMainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.resize(800, 600)
        self.setWindowTitle("一键备份")
        self.ocx = QAxWidget(self)
        self.ocx.setControl("{8856F961-340A-11D0-A96B-00C04FD705A2}")
        self.setCentralWidget(self.ocx)
        self.ocx.dynamicCall("Navigate(const QString&)", "www.baidu.com")#此处替换你的网页地址就可以,必须是服务器地址,本地服务也可以。
if __name__ == '__main__':
    app=QApplication(sys.argv)
    win=MainWindow()
    win.show()
    app.exit(app.exec_())

当然,上述代码对不使用ActiveX插件是没有问题的,对于使用ActiveX插件就会发现会受IE安全策略限制,因为每个电脑的IE都不会自动打开使用ActiveX插件的,所以当你美美的发布软件以后,就会发现只能在自己电脑能用(因为你可能在某个时间打开了),在客户电脑你不可能让客户去手动跑到IE浏览器去一个个打开ActiveX的,下面教大家静默打开IE限制。
首先给一个脚本,可以执行完脚本可以自动修改注册表,修改IE安全策略(本脚本是复制网上某位大神的)。

echo.
echo   本脚本可快速启用IE的 ActiveX控件、JAVA脚本、活动脚本,请稍候...
ping 127.0.0.1 -n 6 >nul 2>nul
set bl=0
:setreg
if "%bl%"=="5" goto ex

set regpath=HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\%bl%
cls
echo.
echo   本脚本可快速启用IE的 ActiveX控件、JAVA脚本、活动脚本
echo   正在进行 ZONE%bl% 的设置...
:启用“activeX控件”“JAVE小程序脚本”“活动脚本”
@reg add "%regpath%" /v "1001" /d "0" /t REG_DWORD /f
@reg add "%regpath%" /v "1004" /d "0" /t REG_DWORD /f
@reg add "%regpath%" /v "1200" /d "0" /t REG_DWORD /f
@reg add "%regpath%" /v "1201" /d "0" /t REG_DWORD /f
@reg add "%regpath%" /v "1400" /d "0" /t REG_DWORD /f
@reg add "%regpath%" /v "1402" /d "0" /t REG_DWORD /f
@reg add "%regpath%" /v "1405" /d "0" /t REG_DWORD /f
@reg add "%regpath%" /v "1609" /d "0" /t REG_DWORD /f
@reg add "%regpath%" /v "1804" /d "0" /t REG_DWORD /f
@reg add "%regpath%" /v "2300" /d "0" /t REG_DWORD /f

set /a bl=%bl%+1
goto setreg

:ex
echo   设置完毕,请打开IE测试一下是否正常,若不正常,建议关闭所有IE再次运行本脚本。
echo   本程序稍后自动关闭...
ping 127.0.0.1 -n 10 >nul 2>nul
exit

将上述的脚本存到.txt文件中,然后 .txt修改为.bat后缀,保存后双击运行等待命令执行完毕即可自动修改IE安全策略。
但是给客户发一个bat文件让客户去执行,可能性也不大,所以这时候我们需要做一个安装程序,将我们的py文件打包成.exe的安装包,打包py文件网上方法比较多,我给个简单命令。

PyInstaller -F -w -i logo.ico main.py

上述代码在安装完PyInstaller以后在py同级目录执行,执行完以后会生成一个exe文件,当然这并不是安装包,所以我们需要将我们的程序做一个安装包和上边的bat一起,并且在客户安装的时候静默执行bat文件,这样就可以在解除IE安全策略的情况下运行我们的程序了。
注:我这里是用NSIS做的安装包,也是在网上找的程序,自己在里面加了一句安装执行bat的命令,因为NSIS的东西比较多,如果想要的可以留言。