Bonjour à tous,
J'ai actuellement un soucie lors de l'appel d'une classe que je n'arrive pas à résoudre.
Voici en gros la structure de ma première classe qui est la classe d'interface de mon plugin :
Dans la focntion def val_import(self) j'appelle la classe Wp_importation et lui passe des données via un tupple values.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 # -*- coding: utf-8 -*- from PyQt4 import QtCore, QtGui from PyQt4.QtGui import * #from qgis.core import * import sys import os import unicodedata import psycopg2 import xlrd from xlrd import XLRDError import csv from ui_option import Ui_Option from ui_srid import Ui_Srid from ui_modification import Ui_ModifyData from wp_importation import Wp_importation class Ui_PostgisConnection(QtGui.QDialog): def __init__(self, parent=None): super(Ui_PostgisConnection, self).__init__(parent) self.wp = Wp_importation() self.selection= [] ... création de l'interface ... def xxx(self): ... def val_import(self): idx = self.index_sh + 1 values = (unicode(self.lnE_browse.text()), unicode(self.lnE_srid.text()),idx) if all(values): #self.postGIS (values) self.wp(values) print 'post gis' self.lnE_browse.clear() self.lnE_srid.clear() else: self.btn_Import.setEnabled(False)
Voici la structure de ma classe Wp_importation :
Voici l'erreur que j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 # -*- coding: utf-8 -*- import sys import os import unicodedata import psycopg2 import xlrd from xlrd import XLRDError import csv from ui_option import Ui_Option class Wp_importation: def __init__(self,data): print 'data', data self.wp_data = data wp_postgis() def wp_postgis(self) : path, srid, index = self.wp_data ....
Ma fonction __init__() est défini comme cela : def __init__(self,data):
Code : Sélectionner tout - Visualiser dans une fenêtre à part TypeError: __init__() takes exactly 2 arguments (1 given)
Via ma première classe je lui passe bien un argument : self.wp(values)
Je ne comprend pas pourquoi il souhaite un argument de plus puisque le self est interne à la classe, non ?
Merci d'avance pour vos conseils et vôtre aide
Partager