질문:
슬롯을 통해 추가 변수를 전달하여 동작을 수정할 수 있습니까? 연결된 것의 함수?
답변:
예, 이를 달성하는 방법에는 두 가지가 있습니다.
람다 사용 슬롯에 추가 인수를 전달하는 연결 메소드 내부의 함수 function.
self.buttonGroup.buttonClicked['int'].connect(lambda i: self.input(i, "text")) @pyqtSlot(int) def input(self, button_or_id, DiffP): ...
이 예에서는 추가 인수 "text"가 람다 함수를 사용하여 입력 슬롯 함수에 전달됩니다.
사용 functools.partial 함수는 슬롯 함수에 추가 인수를 바인딩하기 전에 연결.
from functools import partial ... self.buttonGroup.buttonClicked['int'].connect(partial(self.input, "text")) @pyqtSlot(int) def input(self, DiffP, button_or_id): ...
이 예에서 추가 인수 "text"는 부분 함수를 사용하여 입력 슬롯 함수에 바인딩됩니다.
두 방법 모두 추가 정보를 슬롯 함수에 전달할 수 있습니다. , Qt 애플리케이션의 유연성과 사용자 정의가 향상됩니다.
위 내용은 PyQt 슬롯 연결에 추가 인수를 어떻게 전달할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!