题
我正在使用 python 插件 地理信息系统.我开发的插件与 rt sql层 并同样合作 地理信息系统。当我运行 qgis exe 时它打开正常。但是在我的 好的 按钮,我有以下代码来形成 层.
# create the layer
uri = self.db.getURI()
uri.setDataSource("", "(" + query + ")", geomFieldName, "", uniqueFieldName)
vl = self.iface.addVectorLayer(uri.uri(), newLayerName, self.db.getProviderName())
QApplication.restoreOverrideCursor()
if vl and vl.isValid():
self.saveQuery()
self.accept()
获取URI() 以另一种形式定义如下:
def getURI(self):
# returns a new QgsDataSourceURI instance
return qgis.core.QgsDataSourceURI( self.uri.connectionInfo() )
单击时 好的 按钮它给我错误说
return qgis.core.QgsDataSourceURI( self.uri.connectionInfo() )
AttributeError: 'NoneType' object has no attribute 'connectionInfo'
什么应该 统一资源标识符 包含??
解决方案
看起来 getURI() 中的 self.uri 未初始化。你检查过这个吗?您的片段不允许重现该问题。尝试发布 self.uri 填充的代码(并检查这部分是否实际执行)。
不隶属于 StackOverflow