안녕하세요 좋은사람님.
217
작성한 질문수 5
저번에 질문드린 내용은 잘 해결했습니다.
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 하지 마시고 한 번 에 이벤트를 처리하는 방식으로 코드를 작성하는게 좋을 것같습니다.
정확한 로직을 제가 몰라서 답변이 디테일하지 않겠지만, 참고하시기 바립니다.
현재 예제에서 error 발생
0
367
3
유튜브 동영상 다운로드
0
1448
2
Atom 에디터 관련
0
337
1
위시켓 폼데이터
0
274
1
스케줄러 사용 관련 질문 드립니다
0
627
1
selenium 에러
0
428
1
Progress bar 쓰레드 관련
0
489
1
Install Package 관련 문의
0
328
1
tkinter 샘플 코드 실행 오류 건
0
1267
1
4-7-6 네이버 & 카카오 주식 정보 가져오기
0
381
1
네이버자동로그인_by_selenium
0
876
1
위시캣 로그인 처리 및 크롤링 질문
0
345
1
2-8-1 네이버이미지 크롤링 질문
1
604
3
li:nth-of-type 질문
0
350
2
에러가 뜨는데 잘 모르겠어요ㅠ
0
401
2
Install Packages 항목이 안보이는 이유가 뭘까요?
0
400
2
환경변수 Path 설정 방법
0
631
1
웹 브라우저 없는 스크랩핑 및 파싱 실습(1) - 인프런
0
333
1
웹 브라우저 없는 스크랩핑 및 파싱 실습(1) -git주소
0
475
3
download2-8-1. py질문
0
203
1
ip 차단 당하는 거 같은데 아무리 랜덤주고, sleep 줘도 안 되는데 다른 방법 더 있을까요??
0
645
1
인프런 환경이 바뀌어서 제나름대로 하는데
0
196
1
다시올려주신 예제파일로하는데
0
190
1
아직도 에러가뜨나보네요?
0
584
1





