python QGIS插件Beeline无法打开文件夹路径报错
1. 问题描述
使用该插件时,点击打开文件的按钮即报错:
报错信息:
NameError: name 'QtGui' is not defined
2. 问题解决
根据提示的文件路径,找到该插件的源文件:
C:\Users\30265\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\Beeline(根据自己的路径设置,在报错信息里面有路径提示,就是QGIS存储已安装插件代码的位置)
在PyCharm中打开该文件夹,找到 beeline_dialog.py 文件,定位到问题:
根据PyCharm的智能提示,导入包含该名称的包:
发现QtGui确实是有了,但QFileDialog显示未找到:
废话不多说,直接在上面 import 部分导入这个:
from PyQt5.QtWidgets import *
再把出错行代码中的 QtGui. 去掉(相当于直接用QtWidgets里面的 QFileDialog),即变为:
fileName0 = QFileDialog.getSaveFileName(self, 'Save as', self.oldPath, "Shapefile (*.shp);;All files (*)")
保存退出,重启QGIS,再打开Beeline插件即可: