금융퀀트/(퀀트)증권사API활용(키움)

[키움API]python 메인 화면 만들기(Qt Designer 사용)

문송한투자자 2023. 11. 23. 06:39
반응형

Qt Designer 사용

키움API 사용 프로그램을 화면없이 구현할 수도 있지만 프로그램에 다양한 기능을 부분적으로 구현하고, 부분별 실행을 해보려면 ui 화면과 연결해서 개발하는 것이 편하다. PyQt5 에서는 화면 구성을 위해서 Qt Designer 라는 프로그램을 지원해 준다. 아나콘다를 설치했다면 ( 아나콘다, 파이썬, 비주얼 스튜디오 사용(Windows)  참조) 아나콘다 프롬프트에서 아래 그림 1 과 같이 "designer"라고 치면 된다.(개발을 가상환경에서 하더라도 (base)에서 실행해도 된다.) 아래 그림 1의 우측 부분이 Qt Designer 가 실행된 화면이다.

그림1: Qt Designer 실행

Qt Designer 를 실행한 뒤 "파일" -> "새폼" 을 선택하면 폼의 양식을 선택할 수 있는데, Main Window 를 아래 그림 2와 같이 선택하면 된다.

그림2: MainWindow생성

이제 무슨 기능을 구현할지 먼저 생각한 뒤에 화면을 구성해 준다. 생성된 폼의 내부 구성요소를 만들 때는 왼쪽의 위젯들을 끌어다가 아래 그림 3과 같이 끌어다 놓으면 된다. 

그림3: 위젯 끌어다 놓기

프로젝트 목표와 화면 구성

이번 프로젝트에서는 종목별, 일자별 주식데이터를 입수(DB 저장), 입수된 데이터로 주식별 샤프지수를 계산해서( 샤프지수(Sharpe Ratio): 얼마나 덜 쫄리게 많이 벌었나? ) 종목을 추천해주는 프로그램을 만들 계획이다. 따라서 기본적으로 화면에 필요한 부분은 기간을 나타내는 날짜 칸, 기간별 데이터 입수 버튼, 로그인 버튼, 처리 결과를 보여주는 칸 정도이다. 이를 화면으로 그리면 아래 그림 4 과 같다.

그림4: 메인화면 구성 예시

그리고 각 기능들의 이름을 정해줘야 하는데 이름은 크게 두 가지가 있다. 각 오브젝트 자체의 고유 이름과 화면상 보이는 이름이 그것인데 오브젝트 자체의 이름은 아래 그림 5 의 왼쪽 부분처럼 바꿔주면 되고, 화면상 보이는 이름은 아래 그림 5의 오른쪽 처럼 바꿔주면 된다.

그림5: 위젯 이름 설정

마지막으로 진행하려고 하는 파이썬 프로젝트 폴더에 해당 파일을 저장하면 끝이다.

 

반응형