Как показать форму в PyQGIS? - PullRequest
0 голосов
/ 01 марта 2012

Я работаю с плагинами Python для QGIS так же, как rt sql layer . Я разработал плагин и скопировал его в локальный репозиторий * C: \ Documents and Settings \ comp90.qgis \ python \ plugins*.Когда я открываю QGIS exe, соединение устанавливается и перечисляются все таблицы. Но когда я пытаюсь открыть форму построителя запросов, выдает ошибку: 1005 *

QDialog.__init__(self, parent)
TypeError: QDialog(QWidget parent=None, Qt.WindowFlags flags=0): argument 1 has unexpected 
type 'QgisInterface'

Мой код формы построителя запросов выглядит следующим образом:

class DlgQueryBuilder(QDialog, Ui_Dialog):
    def __init__(self,db=conn, iface=None, parent=None):


            QDialog.__init__(self, parent)

            self.setupUi(self)

            self.db = db

Что такое QgisInterface ??помогите мне ... !!

эта форма вызывается из ManagerWindow.py файла, как показано ниже:

def queryWindow(self):
            """ show sql window """
            dlg = DlgQueryBuilder(self, self.db, self.iface)
            if dlg.exec_():
                    self.close()

1 Ответ

1 голос
/ 01 марта 2012

Вы не передаете self при создании объекта:

dlg = DlgQueryBuilder(self.db, self.iface)
...