0

我正在使用与rt sql 层相同的 QGIS 的 python 插件。我开发了插件并复制到本地存储库 * C:\Documents and Settings\comp90.qgis\python\plugins*。当我打开 QGIS exe 时,建立连接并列出所有表。但是当我尝试打开查询生成器表单时,它给了我错误提示

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

Qgis接口是什么??帮帮我...!!

此表单从ManagerWindow.py文件中调用,如下所示:

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

1 回答 1

1

创建对象时不要传递self :

dlg = DlgQueryBuilder(self.db, self.iface)
于 2012-03-01T17:07:17.600 回答