我正在使用QGIS的python插件,就像 rt sql layer 一样。我开发了插件并复制到本地存储库* C:\ Documents and Settings \ comp90.qgis \ python \插件* 。 当我打开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
什么是 QgisInterface ?帮助我...... !!
此表单是从 ManagerWindow.py 文件中调用的,如下所示:
def queryWindow(self):
""" show sql window """
dlg = DlgQueryBuilder(self, self.db, self.iface)
if dlg.exec_():
self.close()
答案 0 :(得分:1)
创建对象时,您不会传递 self :
dlg = DlgQueryBuilder(self.db, self.iface)