-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
미해결
안녕하세요 좋은사람님.
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을 하는 방법이 어떻게 되나요...?
답변을 작성해보세요.
0
좋은사람
지식공유자2019.12.13
안녕하세요.
두번을 emit 하지 마시고 한 번 에 이벤트를 처리하는 방식으로 코드를 작성하는게 좋을 것같습니다.
정확한 로직을 제가 몰라서 답변이 디테일하지 않겠지만, 참고하시기 바립니다.
답변 1