[주식자동매매] 분할 매수/매도 코딩하기(4), 감시가격/매수수량 입력 GUI 초기화 하기
본문 바로가기

주식 자동매매 강의/중급반(시황 및 차트 구현)

[주식자동매매] 분할 매수/매도 코딩하기(4), 감시가격/매수수량 입력 GUI 초기화 하기

반응형

이번 강의도 기초반에서 다뤘던 부분이지만 리마인드 하는 마음으로 봐주셨으면 합니다. 감시 가격/매수수량 입력 부분을 초기화하는 코딩을 하도록 하겠습니다.

 

1. 감시가격/매수수량 입력 초기화 하기

 아래 그림을 보시면 우리가 만든 더블스핀 박스 GUI가 초기화 전에는 좌측 정렬에 소수점이 있습니다. 

 

 [이전강의 링크 : 클릭하세요.]

 

 [기초반 강의 링크 : 클릭하세요.]

초기화 전
초기화 전

 우리는 아래와 같이 우측 정렬에 소수점을 없애도록 하겠습니다.

반응형

초기화 후
초기화 후

 (1) 매수 금액 0으로 초기화 코딩

각 텍스트 에디트 값을 0으로 초기화
각 텍스트 에디트 값을 0으로 초기화

  - 이전 강의에서 설명드렸지만 각 GUI에는 고유 objectName이 있습니다. 감시에 관련된 모든 값들은 아래 그림처럼 textEdit_1~16까지 구성하였습니다.

objectName
objectName

 - 따라서, setValue()함수를 사용하여 우리가 만든 GUI textEdit에 0을 넣어 초기화합니다.

 

 (2) 더블 스핀 박스 값 우측 정렬에 소수점 없애기

 

더블 스핀 박스값 우측 정렬에 소수점 없애기
더블 스핀 박스값 우측 정렬에 소수점 없애기

 - setAlignment() 함수를 사용해 좌측/가운데/우측 정렬할지 선택합니다. 우선 위/중간/아래 중 중간으로 위치하기 위해서 Qt.AlignVCenter를 하시고 좌측/가운데/우측 정렬 중 우측 정렬하기 위해 Qt.AlignRight를 합니다.

 - 그리고 setDecimals()에 0을 넣음으로써 소수점이 없도록 만듭니다. 1을 넣으면 소수점 1개 2를 넣으면 소수점 2개로 표현할 수 있습니다.

 - 우리는 textEdit 16개 모두 가운데/우측 정렬 그리고 소수점이 없도록 세팅합니다.

 

2. 다음 강의 예고 및 코드 공개

  다음 강의에서는 종목 추가를 클릭하면, 매수/매도 감시 가격과 종목명이 DB 관리 표로 입력될 수 있도록 코딩하겠습니다.

다음 강의
다음 강의

 아래는 오늘 코딩한 것 공유해 드립니다. 다들 부자 되십시오.

 

import sys                        # system specific parameters and functions : 파이썬 스크립트 관리
from PyQt5.QtWidgets import *     # GUI의 그래픽적 요소를 제어       하단의 terminal 선택, activate py37_32,  pip install pyqt5,   전부다 y
from PyQt5 import uic             # ui 파일을 가져오기위한 함수
from PyQt5.QtCore import *         # 쓰레드 함수를 불러온다.

################# 부가 기능 수행(일꾼) #####################################
from kiwoom import Kiwoom          # 키움증권 함수/공용 방 (싱글턴)

from Qthread_1 import Thread1      # 계좌평가잔고내역 가져오기
from Qthread_2 import Thread2      # 계좌 관리
from Qthread_3 import Thread3      # 실시간 자동매매 시작



###################################################
form_thirdwindow = uic.loadUiType("ALBA3.ui")[0]

class Thirdwindow(QMainWindow, QWidget, form_thirdwindow):
    def __init__(self):
        super(Thirdwindow, self).__init__()
        self.initUi()
        self.show()

        ### 초기 셋팅 : 분할 매수/매도
        self.textEdit_1.setValue(0)      # 초기 매수 금액
        self.textEdit_2.setValue(0)      # 초기 매수 금액
        self.textEdit_3.setValue(0)      # 초기 매수 금액
        self.textEdit_4.setValue(0)      # 초기 매수 금액
        self.textEdit_5.setValue(0)      # 초기 매수 금액
        self.textEdit_6.setValue(0)      # 초기 매수 금액
        self.textEdit_7.setValue(0)      # 초기 매수 금액
        self.textEdit_8.setValue(0)      # 초기 매수 금액
        self.textEdit_9.setValue(0)      # 초기 매수 금액
        self.textEdit_10.setValue(0)      # 초기 매수 금액
        self.textEdit_11.setValue(0)      # 초기 매수 금액
        self.textEdit_12.setValue(0)      # 초기 매수 금액
        self.textEdit_13.setValue(0)      # 초기 매수 금액
        self.textEdit_14.setValue(0)      # 초기 매수 금액
        self.textEdit_15.setValue(0)      # 초기 매수 금액
        self.textEdit_16.setValue(0)      # 초기 매수 금액

        ########## 더블 스핀 박스 우측정렬 및 소수점 삭제
        self.textEdit_1.setAlignment(Qt.AlignVCenter | Qt.AlignRight)
        self.textEdit_1.setDecimals(0)
        self.textEdit_2.setAlignment(Qt.AlignVCenter | Qt.AlignRight)
        self.textEdit_2.setDecimals(0)
        self.textEdit_3.setAlignment(Qt.AlignVCenter | Qt.AlignRight)
        self.textEdit_3.setDecimals(0)
        self.textEdit_4.setAlignment(Qt.AlignVCenter | Qt.AlignRight)
        self.textEdit_4.setDecimals(0)
        self.textEdit_5.setAlignment(Qt.AlignVCenter | Qt.AlignRight)
        self.textEdit_5.setDecimals(0)
        self.textEdit_6.setAlignment(Qt.AlignVCenter | Qt.AlignRight)
        self.textEdit_6.setDecimals(0)
        self.textEdit_7.setAlignment(Qt.AlignVCenter | Qt.AlignRight)
        self.textEdit_7.setDecimals(0)
        self.textEdit_8.setAlignment(Qt.AlignVCenter | Qt.AlignRight)
        self.textEdit_8.setDecimals(0)
        self.textEdit_9.setAlignment(Qt.AlignVCenter | Qt.AlignRight)
        self.textEdit_9.setDecimals(0)
        self.textEdit_10.setAlignment(Qt.AlignVCenter | Qt.AlignRight)
        self.textEdit_10.setDecimals(0)
        self.textEdit_11.setAlignment(Qt.AlignVCenter | Qt.AlignRight)
        self.textEdit_11.setDecimals(0)
        self.textEdit_12.setAlignment(Qt.AlignVCenter | Qt.AlignRight)
        self.textEdit_12.setDecimals(0)
        self.textEdit_13.setAlignment(Qt.AlignVCenter | Qt.AlignRight)
        self.textEdit_13.setDecimals(0)
        self.textEdit_14.setAlignment(Qt.AlignVCenter | Qt.AlignRight)
        self.textEdit_14.setDecimals(0)
        self.textEdit_15.setAlignment(Qt.AlignVCenter | Qt.AlignRight)
        self.textEdit_15.setDecimals(0)
        self.textEdit_16.setAlignment(Qt.AlignVCenter | Qt.AlignRight)
        self.textEdit_16.setDecimals(0)

 

반응형

.link_tit