Проблема URI в PYQGIS - PullRequest
       27

Проблема URI в PYQGIS

0 голосов
/ 02 марта 2012

Я работаю с плагинами Python для qgis . Я разработал плагин так же, как rt sql layer и не работал так же в qgis . Его открытие нормально, когда я запускаю qgis exe. Но на моей кнопке ok у меня есть следующий код для формирования layer .

# 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()

getURI () определяется в другой форме следующим образом:

def getURI(self):
            # returns a new QgsDataSourceURI instance

            return qgis.core.QgsDataSourceURI( self.uri.connectionInfo() )

При нажатии кнопки ok появляется сообщение об ошибке

 return qgis.core.QgsDataSourceURI( self.uri.connectionInfo() )
AttributeError: 'NoneType' object has no attribute 'connectionInfo'

что должно URI содержать ??

1 Ответ

0 голосов
/ 21 марта 2012

Похоже, что self.uri в getURI () не инициализируется.Вы проверяли это?Ваши фрагменты не позволяют воспроизвести проблему.Попробуйте опубликовать код, в котором заполняется self.uri (и убедитесь, что эта часть действительно выполнена).

...