계좌평가잔고내역요청의 멀티데이터를 GUI에 보여주기위해서는 tableWdiget을 사용해야 합니다. 이때, tableWdiget에는 행과열을 설정하는데 그 방법을 알아보겠습니다.
[유튜브 강의, 링크]와 같이 보시면 많은 도움이 되실 겁니다.
1. QtableWdiget GUI에 추가하기
아래 그림과 같이 12강에서 만든 QT Desingner에 Table wdiget을 추가합니다. 드래그하셔서 원하는 자리에 올려 놓으시면 되고 objectName은 stocklistTalbeWidget_2라 명시하였습니다. 각자 원하시는 이름으로 설정하시면 됩니다.
2. QtableWdiget 행과 열 설정하기
표에는 행과 열에 뭐가 들어가야하는지, 그리고 어떤 데이터를 넣을지 아래 그림과 같이 설정해야 합니다.
코드를 하나하나 파악해 보겠습니다.
◈ column_head = ["종목번호", "종목명".....] : 열에 넣을 이름을 정합니다. 이때 이름의 개수가 열의 개수 입니다.
◈ colCount = len(column_head) : 열의 총 길이를 파악하기 위해 len()이라는 함수에 column_head를 삽입하였습니다.
◈ rowCount = self.k.kiwoom.dynamicCall("GetRepeatCnt(Qstring, Qstring)", sTrCode, sRQName)
- 하도 많이 설명드리려서 간단히 넘어가겠습니다. self.k를 이용해 키움 함수를 사용할 준비를 하고 kiwoom.dynamicCall을 사용하여 키움 서버에 명령을 전송합니다.
- GetRepeatCnt는 멀티데이터 개수를 반화하는 함수입니다. 자세한 사항은 아래 그림과 같으며 행의 길이를 결정할 때 사용됩니다.
자 그러면 행과 열의 길이를 정하였고 열의 대제목도 정하였습니다. 그러면 우리가 만든 표에 열의 대제목을 넣고 행과 열의 길이에 부합하는 최종 표를 완성해 봅시다.
◈ self.parent를 이용하여 스레드에서 우리가 만든 부모 GUI를 사용할 수 있도록 합니다.
◈ 우리가 사전에 만든 stocklistTalbeWidget_2 이라는 표에 행과 열을 만들 겁니다.
◈ setColumnCount(colCount) : setColumnCount함수를 이용해 열을 만들어 줍니다. 길이는 colCount와 동일합니다.
◈ setRowCount(rowCount) : setRowCount함수를 이용해 행을 만들어 줍니다. 길이는 rowCount와 동일합니다.
◈ setHorizontalHeaderLabels(column_head) : setHorizontalHeaderLabels함수를 이용해 열의 이름을 삽입합니다. 이름은 column_head와 동일합니다.
이렇게 우리는 예제와 동일하게 행과 열을 가지고 있는 표를 만들었습니다. 다음 강의에서는 우리가 만든 표에 원하는 값을 집어 넣는법을 알려 드리겠습니다. 전체 코드는 아래와 같습니다.
'주식 자동매매 강의 > 기초반(모든 코딩의 뿌리)' 카테고리의 다른 글
주식자동매매 20강. 계좌평가잔고내역요청(8), 싱글데이터 삽입하기 (0) | 2022.05.09 |
---|---|
주식자동매매 19강. 계좌평가잔고내역요청(7), GUI에 텍스트(Text) 라벨(Label) 집어넣기 (0) | 2022.05.08 |
주식자동매매 18강. 계좌평가잔고내역요청(6), Tr 데이터 받아오기(싱글데이터) (6) | 2022.05.06 |
주식자동매매 17강. 계좌평가잔고내역요청(5), 서버에 내역 요청하기(opw00018) (0) | 2022.05.05 |
주식자동매매 16강. 계좌평가잔고내역요청(4), 주식 종목 가져오기 (2) | 2022.05.04 |