예제로 배우는 PyQt

예제 중심으로 배우는 PyQt 프로그래밍

예제로 배우는 PyQt 예제 중심으로 배우는 PyQt 프로그래밍

Signal 과 Slot 사용자정의 시그널 반환 값 타입

시그널이 반환할 값의 타입을 명시하고 해당 값을 전달하는 예제

예제보기

댓글

댓글 본문
  1. 이준환
    def __del__(self):
    self.wait()

    이 매서드는 주석처리하고 빌드해도 문제없이 돌아가던데 넣으신 이유가 있으신가요?
  2. 허규범
    안녕하세요. 글 잘 읽었습니다.

    혹시 궁금한게 있는데 class Form(QWidget) 클래스에서의 값을 class OtpTokenGenerator(QThread): 클래스의 Run(self) 함수에서 사용할 수 있는 방법은 없을까요?

    응용하여 버튼을 만들어 self.token와 연결을 한다 하여도 Run(self)안의 self.token값은 변하지 않더라구요.. 혹시 도움을 주실 수 있는지 궁금합니다.
    감사합니다.
  3. 임덕규
    안녕하세요. 해당부분은 원래는 TypeError를 일으키지만
    self.otp_gen.ExpiresIn.connect(lambda v: self.lb_expire_time.setText(str(v)))
    시그널 연결시 위 코드 처럼 lambda를 이용하여 str로 변환하여 넘겨주고 있습니다.

    원래 Slot 타입에 맞게 값을 전해주거나 받을 수 있도록 만들어 주면 되지만 그렇지 못한 경우가 많습니다. 저는 저런 방법으로 해결하고 있습니다.

    감사합니다.
    대화보기
    • JooYeon Kim
      PyQt5(5.9.2)
      pyqt5-tools(5.9.0.1.2)
      이상의 버전을 사용하고 계신다면,

      예제의
      self.expires_in.emit(self.EXPIRE_TIME - t) # 남은 시간을 전달
      이 줄에서 TypeError가 나므로
      emit함수의 인자 self.EXPIRE_TIME - t 를 string 타입으로 변환후 실행하시는 것이 정신 건강에 좋습니다.
    graphittie 자세히 보기