PyQt5发布技巧:指定插件(plugins)路径

一般来说,发布后的应用程序要能正常使用必须设置插件路径的环境变量:

cmd脚本:

wmic ENVIRONMENT create name="QT_QPA_PLATFORM_PLUGIN_PATH",username="<system>",VariableValue="%cd%\plugins"
pause

但是这样存在诸多问题,比如会导致其他用Qt开发的软件出错,例如QtCreator等。

最好的方法是直接指定去加载目录下的环境变量。打包后,如果指定了-D打包为单个路径的参数,plugins所在路径为"./PtQt5/Qt/plugins"

然后在代码的开头部分写上:

pluginsPath='PyQt5/Qt/plugins'
if os.path.exists(pluginsPath):#指定插件路径。源码运行时不会生效,打包后运行检测到路径,加载插件
    QApplication.addLibraryPath(pluginsPath)

这个代码保证源码运行时不会加载插件,但是打包运行后,自动检测到插件路径,进行加载。

实测运行成功。

posted @ 2018-04-15 10:36  TQCAI  阅读(1141)  评论(0编辑  收藏  举报