나는 신호를 PyQt4의 방법으로 연결하는 데 어려움을 겪고있다. 객체 A의 바운드 신호를 객체 B의 메서드 인 에 연결할 수 있지만 객체 A의 바운드 신호를 자체 (연결되는 객체) 메서드로 연결할 수 없습니다.
나는 무엇입니까? 잘못하고있는거야? 아래를 참조PyQt4에서 자기의 방법과 신호를 연결하기
from PyQt4.QtGui import *
from PyQt4.QtCore import *
class FooA(QObject):
trigger=pyqtSignal(str)
def receive_trigger(self,a):
print'triggered in FooA, string',a
class MainObj(QObject):
def __init__(self):
self.a1=FooA()
self.a2=FooA()
#I can connect signals and methods of separate objects:
self.a1.trigger.connect(self.a2.receive_trigger)
self.a1.trigger.emit('hi')
#... but I can't connect a signal with a method of self
self.a1.trigger.connect(self.receive_trigger)
self.a1.trigger.emit('hi')
def receive_trigger(self,a):
print 'triggered in MainObj'
는 다음과 같이 실행합니다 MainObj()으로 fooA 트리거
,으로 fooA 트리거 문자열 안녕하세요 , 문자열 하이
내가 추가 라인을 볼 것으로 예상, > MainObj에서 트리거 됨
미리 감사드립니다. Bill
예상대로 작동합니다. 게시 한 코드가 실행하려는 코드와 동일한 지 확인하십시오. – ekhumoro
확인 된 작업은 저에게도 좋습니다. – jdi