0
호출 할 메서드로 클래스 A가 있습니다. 당신은 내가 그것을 호출 할 수 있도록 전 클래스 A의 인스턴스를 만든 볼 수 있듯이다른 클래스의 PyQt4 호출 메서드
class class B(object):
def setupUi_1(self, Dialog):
...
self.my_instance = Class_A()
QtCore.QObject.connect(self.pushButtonSecond, QtCore.SIGNAL(_fromUtf8("clicked()")),self.my_instance.print_something())
나는이 오류가 발생했습니다
클래스 B의 방법은 다음과 같습니다
class Class_A(QtGui.QMainWindow):
def __init__(self, database, tableName):
QtGui.QWidget.__init__(self)
self.dbu = database_manager_2.DatabaseUtility(database, tableName)
self.setupUi(self)
def setupUi(self, Class_A):
...
def print_somethig (self):
print 'hello'
이
클래스 B입니다 :TypeError:
__init__()
takes exactly 3 arguments (1 given)
나는 이것이 OOP와 관련이 있다는 것을 알고있다.
귀하의 메소드 서명은 다음과 같습니다 : 전화 그렇다면
def __init__(self, database, tableName):
: OOP와 관련된 아무것도
나는 오류 메시지가 오히려 자명하다 생각합니다. 클래스를 인스턴스화 할 때 self, database 및 tableName과 같은 세 개의 변수로 __init__ 메소드를 제공해야합니다. 파이썬은 첫 번째 코드를 처리합니다. –
네,하지만이 가변적 인 요구를 극복하는 방법이 있어야한다고 생각합니다. 왜냐하면 결국에는 DB 테이블을 제공하고 싶지 않기 때문에 그 클래스 내에있는 메소드를 호출하기를 원합니다. – user3532371
@ user3532371 : 귀하의 질문에 답변했습니다. 이 두 가지 가능성이 있습니다. 하지만 원래 서명으로는 Class_A()를 호출하는 방법이 없습니다. – ProgrammingIsAwsome