• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

안녕하세요 좋은사람님.

19.12.13 15:50 작성 조회수 125

0

저번에 질문드린 내용은 잘 해결했습니다. 

class Main에 

sys._excepthook = sys.excepthook

    def exception_hook(exctype, value, traceback):

        print(exctype, value, traceback)

        sys._excepthook(exctype, value, traceback)

        sys.exit(1)

    sys.excepthook = exception_hook

를 넣으니깐 오류가 잘 나오더라구요. 다만 한가지 질문점이 생겼습니다. 

QThread에서 emit하는 부분에서의 질문인데요. 

저는 GUI에서 2개의 lineEdit에서 2가지 string을 입력받아서 

그 두개의 string을  thread에 emit하고 싶습니다. 

코드는 main에 

@pyqtSlot()

    def tab4(self):

        input_3 = self.lineEdit_5.text()

        input_4 = self.lineEdit_7.text()

        self.WorkerC = Worker3()

        self.sig_1.connect(self.WorkerC.ad_cam_name)

        self.sig_1.emit(input_3)

        self.sig_1.connect(self.WorkerC.product_netprofit)

        self.sig_1.emit(input_4)

        self.WorkerC.start()

        self.WorkerC.sig3.connect(self.append_profile)

        self.WorkerC.sig3_1.connect(self.crawl_adinfo)

worker에는 

class Worker3(QThread):

    sig3 = pyqtSignal(str)

    sig3_1 = pyqtSignal(str)



    def __init__(self, parent=None):

        QtCore.QThread.__init__(self, parent)



    def ad_cam_name(self, str):

        self.ad_campaign_name = str



    def product_netprofit(self, str):

        self.product_profit = str

이렇게 짜봤는데...ㅎㅎ thread에서 받는 결과는 항상 input4번만 받더라구요. 

그래서 짐작하기엔 emit을 저렇게 두번 쓰면 아래꺼만 인식되는건지 여기저기 많이 찾아봤는데 

해답을 잘 못찾겠습니다. ㅜㅜ  

두가지 emit을 하는 방법이 어떻게 되나요...?

답변 1

답변을 작성해보세요.

0

안녕하세요.

두번을 emit 하지 마시고 한 번 에 이벤트를 처리하는 방식으로 코드를 작성하는게 좋을 것같습니다.

정확한 로직을 제가 몰라서 답변이 디테일하지 않겠지만, 참고하시기 바립니다.