[PYTHON] PyQt를 활용하여 기본적인 프로그램 인터페이스 만들기
2023. 10. 6. 15:39ㆍDATA PROGRAMMING/PYTHON
알고리즘 트레이딩은 굳이 GUI 프로그램을 만들지 않아도 실행할 수 있지만, GUI 프로그램을 만들어 두면 훨씬 편한 트레이딩이 가능하다.
* 이 글은 '파이썬으로 배우는 알고리즘 트레이딩' 책을 공부하며 작성한 글입니다. *
먼저 여러 위젯을 포함한 위 형태의 인터페이스를 만들어 보자.
import sys
from PyQt5.QtWidgets import *
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("PyStock")
self.setGeometry(300, 300, 300, 400)
if __name__ == "__main__":
app = QApplication(sys.argv)
mywindow = MyWindow()
mywindow.show()
app.exec_()
QMainWindow 클래스를 활용해 윈도우를 만든다. 위젯끼리는 서로 포함할 수 있는데 어디에도 포함되지 않는 최상위 위젯이 윈도우이다. exec_메서드를 통해 이벤트 루프를 생성할 수 있다.
해당 코드를 실행하면 기본적인 인터페이스가 생산된다.
이번엔 아무것도 없는 인터페이스에 이벤트를 만들어 보려고 한다.
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("PyStock")
self.setGeometry(300, 300, 300, 400)
btn1 = QPushButton("Click me", self)
btn1.move(20, 20)
btn1.clicked.connect(self.btn1_clicked)
def btn1_clicked(self):
QMessageBox.about(self, "message", "clicked")
if __name__ == "__main__":
app = QApplication(sys.argv)
myWindow = MyWindow()
myWindow.show()
app.exec_()
MyWindow 클래스에 새로운 인스턴 byn1을 만들어주고, move를 통해 버튼의 위치를 설정한다. btn1_cliked라는 메서드를 만들어 사용자가 버튼을 누르면 message가 나오도록 한다.
'DATA PROGRAMMING > PYTHON' 카테고리의 다른 글
[PYTHON] 편리한 알고리즘 트레이딩, PyQt를 활용한 GUI 프로그래밍 - 1. 기초편 (0) | 2023.10.08 |
---|---|
[PYTHON] matplotlib을 활용하여 3차원 그래프 그리기 (0) | 2023.10.06 |
[PYTHON] 파이썬으로 json, xml 파일 sql 형태로 저장하기 (0) | 2023.10.04 |
[파이썬] matplotlib 라이브러리를 활용한 금융 데이터 시각화 (0) | 2023.10.04 |
[PYTHON] yfinance를 활용하여 웹 상의 데이터 받아 분석하기 (0) | 2023.09.22 |