본문 바로가기
무모한 도전-주식 인공지능 만들기

가장 힘들어 보이는 장애물을 넘기 위한 시도-4-

by 인터넷떠돌이 2019. 4. 13.
반응형

안녕하세요?

 

지난번 포스팅에서는 어떻게 연습용으로 새 스크립트 파일을 만들어서 시도를 해 보았는데, 일단 여기서는 제대로 실행이 되는 것 까지는 확인할 수 있기는 있었습니다. 그래서 다음으로는 이 연습용 프로젝트를 바탕으로 해서, 계속해서 다양한 시도를 해 나가겠습니다.

 

먼저 위 스크린샷에서는 Parent_pytrader.py를 실행시켜서, 이 조건에서 제대로 실행이 되는지 여부를 살펴본 것 입니다. 왜 이렇게 하느냐 하면, 기껏 통신을 하고나서, 자식 프로세스의 자식 프로세스인 손자 프로세스가 실행이 되지 않으면 말짱 꽝이 되기 때문입니다.

 

그리고 나서 다음으로는 전달받은 데이터를 제대로 GUI에 표시해 주기 위해서, 일단 그냥 메세지도 제대로 띄울 수 있는지 여부를 알아보고자 합니다.

 

일차적으로 Hellow?!라는 메세지가 나오는 것을 확인할 수 있기는 있었습니다. 이것으로 일단 메세지를 UI디자인을 담당하는 코드에서 띄우는 것 자체는 문제가 없어 보입니다.

 

그래서 다음으로는 위 스크린샷을 보시면 알 수 있듯이 바른 클래스에 있는 변수를 가지고 오는 방식으로 바꾸어 보았습니다. 일단 여기서는 제대로 방법을 잡지 못해서 좀 난잡하게 되었습니다.

 

 

다음으로는 레이블의 텍스트를 setText()라는 함수를 이용해서 여기 안에다가 변수를 지정하는 방식을 사용해서, 앞으로 정보가 들어오면 바뀌는 것으로 만들어 보았습니다.

 

먼저 처음으로 만들어 낸 메세지가 제대로 나오는 것을 확인할 수 있기는 있었습니다. 여기서 나오는 것을 바탕으로 일단 클래스간에 변수를 어떻게 건너뛰기 가능하다는 것을 알 수 있었습니다.

 

일단 pytrader3를 실행시켜 보았습니다만, 특별히 달라지는 것은 없다는 것을 확인할 수 있기는 있었습니다. 그래서 이로 미루어 보아서, 데이터의 전달이 잘 안되는데, 보내는 것이 문제인지 아니면 받는 쪽이 문제인지 아직은 모르겠습니다.

 

그래서 지난번에 나왔던 self.sender()라는 것을 들어오게 해서, 한번 작업에 들어가 보고자 합니다.

 

 

먼저 두번째 변수를 만들어서, 이 변수에서는 데이터가 전달이 되면 어떻게 바뀌는 지도 만들어 보도록 합니다.

 

일단 들어온 데이터 여부를 확인해 주는 두번째 변수는 아무런 반응이 없는 것을 확인할 수 있었지만, 이게 진짜로 데이터가 없어서 안 나온 것인지, 아니면 다른 이유가 있는지 알아볼 필요가 있었습니다.

 

그래서 한번 self.process라는 변수를 self.sender()가 아니라 문자열로 바꾼 다음에, 이를 한번 표시해 보고자 해서, 제대로 나올 수 있는지 여부를 따져 보도록 합니다.

 

그런데 두번째 메세지가 나오기는 나옵니다만, 제대로 보기 어렵게 나온다는 것을 알 수 있었습니다. 그래서 이렇게 해서는 상당히 애먹기 때문에 다소 조정이 필요해 보입니다.

 

먼저 레이아웃에다가 새로운 위젯을 추가하는 함수를 사용해서 한번 두번쩨 레이블을 집어넣는 과정을 넣어 주도록 합니다.

 

그래도 효과가 없어서 마지막으로 move()라는 함수를 사용해서 아예 레이블을 옮기는 방법을 사용하도록 합니다. 일단 이렇게 하는 식으로 해서 진짜로 효과가 있는지 보도록 합니다.

 

제대로 효과가 있어서 위에꺼는 취소라는 글씨가 제대로 나오는 것을 확인할 수 있기는 있었습니다. 이제 부모 프로세스를 실행시켜 보아서, 이게 제대로 작동이 되는지를 알아 보도록 합니다.

 

하지만 어떻게 된 것인지 모르겠습니다만, 제대로 된 통신이 되지 않았다는 것을 확인할 수 있기는 있었습니다. 이게 진짜로 받아들이는 쪽이 문제인지, 신호를 보내는 쪽이 문제인지는 모르겠습니다만, 어떻게 해야 이를 확인할 수 있는지는 아직까지는 모르겠다는 생각이 듭니다.

반응형