0
두 클래스가 있습니다. 창 내 하나 내 제어 개체pyqt4 qobject 클래스의 pyqt4 신호 연결
class window(baseClass, testForm):
scanStarted = QtCore.pyqtSignal(str)
def __init__(self,parent=None):
super(window, self).__init__(parent)
self.setupUi(self)
#other window setup
self._scanner.pushScan.clicked.connect(self._scanClicked)
def _scanClicked(self):
self.scanStarted.emit(self._scanner.getTextData())
하나 내 제어 개체
class vis(QtCore.QObject):
def __init__(self):
self._oreList = []
self._w = window()
self._w.scanStarted.connect(self._scanOre)
def _scanOre(self, rawText):
print "main ->", rawText
내 기준으로 QtCore.QObject를 사용하여,이 신호는 _scanOre에 연결할 것이다. 파이썬 '객체'에 대한 참조를 전환하면 잘 작동합니다. QtCore.QObject 유형을 사용하여 연결하지 않는 이유를 알아 내려고 노력했습니다.
신호도 관계없이 창 클래스에서 잘 연결됩니다.
_scanOre에게 @ QtCore.pyqtSlot (str, name = 'scanGo')을 지정하고 name 매개 변수를 신호 생성에 추가하려고했습니다. 내가 여기서 무엇을 놓치고 있는지 잘 모르겠습니다. 나는 그것이 내가 내려다 보이는했다 쉬운 일이 될 줄 알았어,
class vis(QtCore.QObject):
def __init__(self, parent=None):
super(vis, self).__init__(parent) # you are missing this line
# also the `parent` arg
self._oreList = []
self._w = window.window()
self._w.scanStarted.connect(self._scanOre)
def _scanOre(self, rawText):
print "main ->", rawText
아 남자 : – ooklah