QPushButton 예제 (5) 버튼 카운트 적용

  • by



클릭해 보자!

PySide6은 Qt 프레임워크를 사용하여 Python으로 작성된 디스플레이용 애플리케이션을 작성할 수 있는 패키지입니다.

이 패키지를 사용하여 간단한 버튼 예제를 만들 수 있습니다.

예제에서는 PySide6의 QApplication, QWidget, QPushButton, QLabel, QVBoxLayout 클래스를 사용합니다.

QApplication 클래스는 Qt 애플리케이션을 초기화하고 이벤트 루프를 시작하는 데 사용됩니다.

QWidget 클래스는 기본 창을 나타내는 데 사용됩니다.

QPushButton 클래스는 버튼을 생성하는 데 사용되며 QLabel 클래스는 텍스트 레이블을 생성하는 데 사용됩니다.

QVBoxLayout 클래스는, 수직 박스 레이아웃을 생성하기 위해서 사용됩니다.

예제에서는 Example 클래스를 정의합니다.

이 클래스는 QWidget 클래스를 상속합니다.

__init__() 메서드는 initUI() 메서드를 호출합니다.

initUI() 메소드는 버튼과 라벨을 생성해, 레이아웃을 설정합니다.

버튼의 clicked 시그널의 buttonClicked() 슬롯을 접속합니다.

이 슬롯은 레이블의 텍스트를 업데이트하고 카운트를 늘리고 창 제목을 업데이트합니다.

버튼과 레이블은 self.button 및 self.label의 인스턴스 변수로 정의됩니다.

이러한 인스턴스 변수는 클래스의 어느 곳에서나 액세스할 수 있습니다.

이 예에서는 QVBoxLayout 클래스를 사용하여 레이블과 버튼을 수직으로 배치합니다.

setAlignment() 메소드를 사용해 라벨을 중앙에 배치합니다.

이 예에서는 self.count 변수를 사용하여 클릭한 횟수를 추적합니다.

레이블과 창 제목에 클릭한 횟수를 보려면 setText() 및 setWindowTitle() 메서드를 사용합니다.

if __name__ == ‘__main__’: 블록은 QApplication 인스턴스를 만들고 Example 클래스의 인스턴스를 만들고 app.exec() 메서드를 호출하여 이벤트 루프를 시작합니다.

이 예제에서는 PySide6을 사용하여 간단한 버튼 예제를 만드는 방법을 보여줍니다.

이 예제를 사용하여 PySide6를 시작하여 Python에서 디스플레이용 애플리케이션을 만들 수 있습니다.

#python cede QPushButton 예제 (5) 버튼 수 적용

import sys
from PySide6.QtCore import Qt
from PySide6.QtWidgets import QApplication, QWidget, QPushButton, QLabel, QVBoxLayout


class Example(QWidget):

    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        # 버튼 생성
        self.button = QPushButton('클릭하세요', self)
        self.button.setToolTip('버튼입니다')
        self.button.clicked.connect(self.buttonClicked)

        # 레이블 생성
        self.label = QLabel('버튼을 클릭하세요.', self)
        self.label.setAlignment(Qt.AlignCenter)

        # 수직 박스 레이아웃 생성
        vbox = QVBoxLayout()
        vbox.addWidget(self.label)
        vbox.addWidget(self.button)
        self.setLayout(vbox)

        # 카운트 초기화
        self.count = 0

        # 윈도우 설정
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('버튼 예제')
        self.show()

    def buttonClicked(self):
        # 레이블 업데이트
        self.label.setText('버튼이 클릭되었습니다.

') # 카운트 증가 self.count += 1 self.setWindowTitle(f'버튼 예제 ({self.count}회 클릭)') if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec())