2012-01-26 27 views
0

私はpython2.5とpyqt4を使用してQGIS用Pythonプラグインを使用しています。メソッドは4引数を取ります。python TypeError:__init __()は正確に4つの引数(1与えられます)を受け取ります

class DlgQueryBuilder(QtGui.QMainWindow, Ui_Dialog): 
    def __init__(self, db, iface, parent): 
     QtGui.QMainWindow.__init__(self) 
     Ui_Dialog.__init__(self) 
     self.dialog = QtGui.QDialog(parent) 

     self.setupUi(self) 
     self.db = db 
     # ... 

if __name__ == "__main__": 
    app = QtGui.QApplication(sys.argv) 
    window = DlgQueryBuilder() 
    window.show() 
    sys.exit(app.exec_()) 

エラー: ウィンドウ= DlgQueryBuilder()を使用してフォームは、次のように無arguments.Myの.pyコードを渡すことはM

Traceback (most recent call last): 
File "C:\rt_sql_layer_working\DlgQueryBuilder.py", line 1176, in <module> 
window = DlgQueryBuilder(); 
TypeError: __init__() takes exactly 4 arguments (1 given) 

引数iが通過する必要が正確に何?

+1

Pythonコードを投稿するときにインデントに注意してください。コードの意味は非常に重要です。私はそれを修正しようとした。私はこれがあなたが意味するものだと思います。 –

+4

...あなたは深刻ですか? 'DlgQueryBuilder'クラスの' __init __() 'の中にあります。あなたがそのクラスを書いた時に得たいものを渡します( 'self'を除いて、Pythonはそれを自動的に渡します)。 – kindall

+0

あなたはそれらの議論が何であると思われるのか分からないという問題はありますか? – KobeJohn

答えて

3

__init__メソッド宣言で定義されているように、db,およびparent引数を渡す必要があります。

+0

okk thanx :) TypeErrorとは何ですか? 'sip.methoddescriptor'オブジェクトは呼び出し可能ではありませんか? – poonam

関連する問題