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

RLTrader의 유저 인터페이스를 만드는 작업-5-

by 인터넷떠돌이 2018. 12. 13.
반응형

안녕하세요?


이번 포스팅에서는 뜸금없이 한번 조건이 만족되었다는 표식을 하나씩 만들어 볼까 합니다. 왜냐하면 저만 사용하는 프로그램이라서 그냥 사용해도 되지만, 그래도 그래픽인 유저 인터페이스를 만든다고 하면, 이렇게 하나하나 하다보면, 어디서 어디까지 자기가 조건을 만족했는지 까먹게 됩니다. 물론 그때마다 경고 메세지 박스가 뜨기는 하지만, 그래도 램프와 같이 표식이 들어오는 것이 좋다는 생각을 했습니다. 그래서 찾아보다 보니, 여기서는 점등하는 램프가 없는 듯 해서, 일단 label을 가지고서 나타내고 가리는 것으로 했습니다.



일단 위 스크린샷에 보이는 것처럼 Qt Designer에서 기존의 강화학습 시작이라는 빨간 버튼 아래에서 레이블을 하나 추가해 주도록 합니다. 당연 이 내용이 보이면 데이터 베이스 완료라고 해서 조건이 충족 되었다는 것을 알려주는 역할을 하게 됩니다.



일단은 위 스크린샷에서 보이는 것과 같이 이 레이블을 안 보이게 만들어 주기 위해서, 먼저 enabled의 체크를 제거해 주도록 해 줍니다.



그리고 나서 다음으로는 lineEdit.text()에 값이 들어오면, enabled()를 주고, 아니면 disabled()를 주면 될 줄 알았습니다만, 이는 좀 문제를 야기했는 것이............




어떻게 된 것인지 작동하다가 오류가 생겨서 멈추어 버리는 것 이었습니다. 아무래도 제가 무언가를 잘못 입력한 것이 아닌가 하는 생각이 듭니다.



그래서 다음으로는 여기 안에 있는 enabled()안에 있는 True와 False의 값이 잘못된 것인가 싶어서 한번 수정을 하고서 시도를 해 보았습니다만.........



돌아온 것은 에러 뿐 이었습니다. 아무래도 이것도 잘못된 코드라는 생각이 듭니다.



그래서 하는 수 없이 이전에는 체크를 해제해 놓았는 enabled의 체크박스의 체크를 다시 설정해 놓아서 사용한다는 신호를 주도록 해 봅니다.




그래서 먼저 클래스가 시작하면 초기화를 하는 곳으로 가서, 맨 처음에 저 label_4라는 위젯을 hide()라는 함수를 이용해서 안 보이도록 해 봅니다.



다음으로는 이렇게 조건이 만족하면 label_4가 원래는 hide()인 상태였는데, 이를 show()인 함수를 써서 보이도록 만들어 주도록 합니다. 그리고 아니라면 계속해서 hide()함수를 써서 안 보이도록 만들어 주도록 합니다.



이렇게 하는 것으로 해서, 데이터베이스 파일을 지정하면 위 스크린샷에서 오타가 난 레이블이 나타나는 것을 확인할 수 있었습니다. 일단 지금은 저렇게 하도록 하는데, 나중에 오타는 교정을 하면 되는 것이고, 다음으로는 나머지 설정에 대해서도 한번 표식을 남기는 작업을 잊지말고 해야 겠다는 생각이 듭니다.

반응형