Programming/파이썬(python) - 라이브러리

파이썬(python)/ Pyqt5 기본 문법

esoog Polaris 2023. 9. 26. 16:54
반응형

# Pyqt5 시작하기

 

import sys 
from PyQt5.QtWidgets import *

# Q어플리케이션 객체 생성
app = QApplication(sys.argv)
#app = QApplication(["qt01.py"]) 경로 파일 설정 가능

# 실제 화면 출력 위젯 객체 생성
win = QWidget()
win.show()

# 앱 실행.
app.exec_()
# PyQt는 QApplication 클래스의 객체에서 exec_( ) 메서드를 호출하면 이벤트 루프가 생성되고 실행

 

 

 

 

# Q 메인 윈도우 만들기(가장 기본 위젯)

 

import sys
from PyQt5.QtWidgets import *

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        btn = QPushButton(text="매수", parent=self)
        # 버튼을 윈도우 위에 배치할 것인데 현재 윈도우를 바인딩하는 변수는 self 
        btn.move(10, 10)


app = QApplication(sys.argv)
window = MyWindow()
window.show()
app.exec_()

 

 

 

 

# Signal, Slot

사용자가 버튼을 클릭하는 행위를 '시그널'이라고 하고, 버튼을 클릭했을 때 수행할 함수를 '슬롯'이라고 함

 

import sys
from PyQt5.QtWidgets import *


# 이벤트루프에 의해 호출 당하는 함수를 콜백(callback) 함수
def buy():
    print("몽땅 매수")
    
    
class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        btn = QPushButton("버튼", self)
        btn.move(10, 10)
        btn.clicked.connect(buy)


app = QApplication(sys.argv)
window = MyWindow()
window.show()
app.exec_()

* 일반적으로 콜백함수는 클래스 안에서 구현

import sys
from PyQt5.QtWidgets import *


class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        btn = QPushButton("버튼", self)
        btn.move(10, 10)
        btn.clicked.connect(self.buy)

    def buy(self):
        print("몽땅 매수")


app = QApplication(sys.argv)
window = MyWindow()
window.show()
app.exec_()

 

 

 

 

# 위젯 설명

https://wikidocs.net/21933

 

05. 위젯 (Widget)

![](https://wikidocs.net/images/page/21933/intro_widget.png) 위젯은 어플리케이션을 이루는 기본적인 구성 요소입니다. Py…

wikidocs.net

 

 

728x90