※ Error 1 : if __name__ == "__main__":
__main__ 을 __Main__ 으로 작성하니까 동작 안함
※ Error 2 : self.statusBar.showMessage(state_msg + " | " + time_msg)
해당 부분을 실행하면 statusBar에서 연결상태 + 시간이 1초마다 나와야 하는데
무한 loop에 빠지는듯... 아니면 화면에 보이지 않거나...
statusBar 이름을 statusbar 로 변경 하니까 정상 작동 함
<widget class="QStatusBar" name="statusbar"> 저부분의 name 값과 일치 시켜야 함
self.txtlabel_1.setText(state_msg + " | " + time_msg)
mytrader.ui 에 label을 추가 하고 txtlable_1 으로 이름을 바꾸고 위의 code를 삽입하면1초 단위로 정보가 나오기는 함
QStatusBar, QLabel 등등 class 별로 사용가능 method가 다 다른데 어떻게 알 수 있을까?
→ 아래 링크에서 확인 가능
doc.qt.io/qtforpython/PySide2/QtWidgets/index.html
PySide2.QtWidgets — Qt for Python
doc.qt.io
※ Info 1 : from kiwoom import *
kiwoom.py 라는 file name 으로 code 작성 후 동일 디렉토리 안에 있으면 위와 같은 방법으로 import 가능
※ Info 2. 클래스 생성 후 메소드 실행하기
1. 해당 class import → from Kiwoom import *
2. class를 객체로 생성 → self.kiwoom_obj = Kiwoom_class()
3. 객체.메소드 실행 → self.kiwomm_obj.comm_connect()
comm_connect() 는 Kiwoom_class 안에 구현된 메소드 [def comm_connect(self): ]
※ Info 3 : strip()
설명 : strip() 메서드를 호출해 문자열의 공백을 제거
사용 방법 : 문자열.stript()
※ Info 4 : QAxWidget
설명 : The QAxWidget class is a QWidget that wraps an ActiveX control
code_list = self.dynamicCall("GetCodeListByMarket(QString)", market)
#장 구분별 종목코드 리스트를 반환하는 메소드
code_name = self.dynamicCall("GetMasterCodeName(QString)", code)
# 종목코드의 종목명을 반환허는 메소드
ret = self.dynamicCall("GetConnectState()")
# 통신 접속 상태를 반환 하는 메소드
ret = self.dynamicCall("GetRepeatCnt(QString, QString)", trcode, rqname)
# 수신 받은 데이터의 반복 개수를 반환하는 메소드
self.dynamicCall("SetInputValue(QString, QString)", id, value)
# Tran 입력 값을 서버통신 전에 입력하는 메소드 / return 값 없음
self.dynamicCall("CommRqData(QString, QString, int, QString)", rqname, trcode, next, screen_no)
#통신 데이터를 송신하는 메소드 / return 값 없음
'파이썬' 카테고리의 다른 글
PyTrader 구현 5일차 - 급등주 찾기 (0) | 2020.11.04 |
---|---|
PyTrader 구현 4일차 (0) | 2020.10.29 |
PyTrader 구현 3-2일차 (0) | 2020.10.28 |
PyTrader 구현 3-1일차 (0) | 2020.10.21 |
PyTrader 구현 2일차 (0) | 2020.10.20 |
댓글