之前用一个cmd脚本
wmic ENVIRONMENT create name="QT_QPA_PLATFORM_PLUGIN_PATH",username="<system>",VariableValue="%cd%plugins" pause
自动添加pyqt的环境变量。但是添加了之后,其他designer就打不开了,试了各种方法。初步猜测designer是用qt开发的,它依赖的插件是加载其主目录下的插件。但是设置了环境变量之后,就自动的去寻找环境变量下的插件。所以要删除环境变量。但是我把系统用户、administrator用户的QT_QPA_PLATFORM_PLUGIN_PATH都删除了,但都没有什么卵用。并且删除之后就提示这个环境变量在C:ProgramDataAnaconda3Libsite-packagesPyQt5Qt路径。
怀疑是注册表的问题,打开regedit搜索QT_QPA_PLATFORM_PLUGIN_PATH果然键值是C:ProgramDataAnaconda3Libsite-packagesPyQt5Qt,
将其删除。重启电脑,重装软件,终于可以用了。
之后,我思考过通过设置临时环境变量:
set QT_QPA_PLATFORM_PLUGIN_PATH ="%cd%PyQt5Qtplugins" main.exe set QT_QPA_PLATFORM_PLUGIN_PATH pause
这段代码,第一行设置临时环境变量,第二行执行程序,第三行打印环境变量。结果环境变量在控制台上是始终存在的(临时环境变量),但是并没有什么卵用,程序运行失败,说检测不到环境变量。
看来还是只能通过加载目录下插件的方法运行。这个问题留到以后解决