2021년 9월 3일 금요일

Pyside 코드로 Button 만들기

 GUI 프로그래밍의 시작 Button을 만들어보겠습니다. 


Button 생성

아래와 같이 QPushButton을 생성해 보겠습니다. 

from PySide6.QtWidgets import QApplication, QWidget
from PySide6.QtWidgets import QPushButton

app = QApplication()
window = QWidget()
window.resize(300, 200)

button = QPushButton("Push me", window)
button.move(50, 50)
button.resize(80, 30)

window.show()
app.exec()

위처럼 입력하면 아래와 같이 버튼이 생성됩니다. 그런데 이벤트 연결이 안되어 있기 때문에, 눌러도 아무런 반응이 없습니다. 



Button에 이벤트 연결하기

우리는 Button을 클릭했을때, "Hello Pyside"를 출력해 보겠습니다. 

Qt에서 이벤트는 Signal과 Slot으로 구성됩니다. 간단히 보면 Signal은 이벤트의 종류이고 Slot은 이벤트 처리 함수라고 보시면 됩니다. 

다시 정리하면 Button의 click 이벤트가 발생하면 print를 수행하는 함수로 연결해주는 코드를 작성해 보겠습니다.

from PySide6.QtWidgets import QApplication, QWidget
from PySide6.QtWidgets import QPushButton


def function_print():
    print("Hello Pyside")


app = QApplication()
window = QWidget()
window.resize(300, 200)

button: QPushButton = QPushButton("Push me", window)
button.move(50, 50)
button.resize(80, 30)

button.clicked.connect(function_print)

window.show()
app.exec()


button.clicked.connect(function_print) 구문에서 clicked가 Signal 이고, function_print 함수가 Slot이 되겠습니다. 

이제 실행해보면, 버튼을 누를때 Hello Pyside가 출력되는것을 볼수 있습니다.^^


 

이상입니다.



더 다양한 정보는 Pyside Qt 강좌에서 확인해 보세요.







댓글 없음:

댓글 쓰기

Pyside Qt 강좌 목록

1.  Pyside 시작하기 2.  Pyside 코드로 버튼 만들기 3.  Pyside QT Designer로 버튼 만들기 4.  Pyside QT Designer로 그래픽 처리용 위젯 추가하기