여러 QtGui.QLineEdits에서 입력 한 내용을 다른 매개 변수로 같은 기능으로 확인하고 싶습니다. 나는 QtCore.SignalMapper를 시도했다. 이것은 테스트 응용 프로그램에서 내 코드입니다 :QtCore.SignalMapper로 슬롯 호출하기
self.signalMapper = QtCore.QSignalMapper(self)
QtCore.QObject.connect(self.lineEdit_331, QtCore.SIGNAL(_fromUtf8('returnPressed()')), self.signalMapper.map)
QtCore.QObject.connect(self.lineEdit_341, QtCore.SIGNAL(_fromUtf8("returnPressed()")), self.signalMapper.map)
self.signalMapper.setMapping(self.lineEdit_331,'links')
self.signalMapper.setMapping(self.lineEdit_341,'rechts')
QtCore.QObject.connect(self.signalMapper, QtCore.SIGNAL(_fromUtf8("mapped(QString)")),self.test)
signalMapper이 존재하고 모든 커넥트는 '진정한'반환하지만 슬롯이 호출되지 않습니다 ('연결'과 'setMapping'의 순서를 변경 한 후 동일) . 슬롯에 lineEdits 신호를 연결 작동 :
QtCore.QObject.connect(self.lineEdit_331, QtCore.SIGNAL(_fromUtf8("returnPressed()")), self.test_1)
내 코드의 문제점은 무엇입니까? 도움을 주셔서 감사합니다
새로운 스타일 구문으로 다시 쓰는 것이 효과적입니다. 팁 덕택에 이전 스타일 구문이 완료되지 않았다고 설명하는대로 완료됩니다. 이전 스타일의 구문을 사용하기 전에 나는 새로운 스타일을 성공하지 않고 시도했습니다. 당신은 설명을주었습니다 : 저는 마지막 줄에 '[str]'을 잊었습니다. –
@ user3455890 이상한. 귀하의 질문에 정확한 코드를 테스트하고 슬롯을 사용하는 것은 나를 위해 그것을 해결하는 유일한 방법입니다. 하지만 어쩌면 pyqt/sip, 또는 무언가의 버전에 따라 달라질 수 있습니다 ... – ekhumoro
제가 생각하기에 그것은 마지막 연결의 Qstring입니다, 여기를보십시오 : http://stackoverflow.com/questions/1400858/how-to-create- qstring-in-pyqt4. 내 테스트 응용 프로그램에 'Try/Except'를 추가하면 제대로 작동합니다. 그래서 가장 중요한 힌트는 Your '[str]'입니다. 여러분의 성원에 감사 드리며, 지금부터는 새로운 스타일의 구문을 사용합니다 :-) –