PyQt6는 Python에서 GUI 프로그래밍을 위해 사용되는 강력한 라이브러리입니다. 이 라이브러리는 다양한 위젯을 제공하여 사용자가 직접 만든 윈도우, 대화 상자, 버튼 등을 만들 수 있게 해줍니다. GUI 프로그래밍을 처음 시작하는 사람들에겐 PyQt6가 다소 복잡하게 느껴질 수 있습니다. 같이 PyQt6 위젯 사용하는 방법에 대해 자세히 설명하고자 합니다.
1. PyQt6 위젯 – QLabel
QLabel 위젯은 텍스트, 이미지, HTML과 같은 다양한 형식의 텍스트와 이미지를 표시할 수 있는 위젯입니다. 이 위젯은 라벨로 사용되기 때문에 사용자에게 정보를 제공하거나 애플리케이션의 사용법을 설명하는 등의 용도로 사용할 수 있습니다.
코드내용
1 2 3 4 5 6 7 8 9 10 | import sys from PyQt6.QtWidgets import QApplication, QLabel, QWidget app = QApplication(sys.argv) window = QWidget() label = QLabel(window) label.setText(“Hello, PyQt6!”) window.resize(200, 100) window.show() sys.exit(app.exec()) | cs |
QLabel 위젯은 다양한 속성을 가지고 있으며, 텍스트의 폰트, 색상, 배경색 등을 지정할 수 있습니다. QLabel 위젯은 GUI 프로그래밍에서 굉장히 유용하며, 초보자들도 쉽게 사용할 수 있습니다.
2. PyQt6 위젯 – QPushButton
QPushButton 위젯은 사용자가 클릭할 수 있는 버튼을 만드는 데 사용됩니다. 이 위젯은 어떤 기능을 수행하기 위해 사용됩니다. 또한, 사용자 정의 된 텍스트나 이미지를 포함 할 수 있으며, 툴팁도 지원합니다.
코드내용
1 2 3 4 5 6 7 8 9 10 11 | import sys from PyQt6.QtWidgets import QApplication, QPushButton, QWidget app = QApplication(sys.argv) window = QWidget() button = QPushButton(window) button.setText(“Click me”) window.resize(200, 100) window.show() sys.exit(app.exec()) | cs |
이 위젯은 clicked() 신호에 대한 슬롯 함수를 연결하여 버튼이 클릭되었을 때 실행되는 코드를 작성할 수 있습니다. QPushButton 위젯은 PyQt6에서 가장 기본적인 위젯 중 하나이며, 초보자들이 이해하기 쉽습니다.
3. PyQt6 위젯 – QCheckBox
QCheckBox 위젯은 사용자가 선택하거나 선택 해제 할 수 있는 상자를 만드는 데 사용됩니다. 이 위젯은 사용자가 선택한 값을 저장하기 위해 사용됩니다. 또한 텍스트, 색상, 선택 상태 등을 지정할 수 있습니다. 이 위젯은 toggled() 신호에 대한 슬롯 함수를 연결하여 체크 박스가 선택되거나 선택 해제 될 때 실행되는 코드를 작성할 수 있습니다.
코드내용
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | import sys from PyQt6.QtWidgets import QApplication, QCheckBox, QWidget def checkbox_checked(checked): if checked: print(“Checkbox is checked”) else: print(“Checkbox is unchecked”) app = QApplication(sys.argv) window = QWidget() checkbox = QCheckBox(window) checkbox.setText(“Check me”) checkbox.move(20, 20) checkbox.stateChanged.connect(checkbox_checked) window.resize(200, 100) window.show() sys.exit(app.exec()) | cs |
QCheckBox 위젯은 PyQt6에서 자주 사용되는 위젯 중 하나이며, 초보자들도 쉽게 사용할 수 있습니다.
4. PyQt6 위젯 – QLineEdit
QLineEdit 위젯은 사용자가 일련의 문자열을 입력할 수 있는 텍스트 상자를 만드는 데 사용됩니다. 이 위젯은 사용자가 텍스트를 입력할 때 자동으로 활성화되며, 사용자가 입력 한 텍스트는 직접 또는 프로그램에 의해 액세스 할 수 있습니다. 또한, 텍스트의 길이, 폰트, 색상, 테두리, 배경색 등을 지정할 수 있습니다.
코드내용
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import sys from PyQt6.QtWidgets import QApplication, QLineEdit, QWidget def text_changed(text): print(“Text changed to:”, text) app = QApplication(sys.argv) window = QWidget() line_edit = QLineEdit(window) line_edit.textChanged.connect(text_changed) window.resize(200, 100) window.show() sys.exit(app.exec()) | cs |
QLineEdit 위젯은 PyQt6에서 자주 사용되는 위젯 중 하나이며, 사용자가 입력한 데이터를 처리해야 하는 대부분의 애플리케이션에서 사용됩니다.
5. PyQt6 위젯 – QComboBox
QComboBox 위젯은 사용자가 목록에서 항목을 선택할 수 있는 드롭다운 목록 상자를 만드는데 사용됩니다. 이 위젯은 사용자가 선택한 값을 저장하기 위해 사용됩니다. 선택 가능한 항목의 목록, 선택한 항목의 인덱스, 텍스트, 색상, 폰트 등을 지정할 수 있습니다.
코드내용
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import sys from PyQt6.QtWidgets import QApplication, QComboBox, QWidget app = QApplication(sys.argv) window = QWidget() combo_box = QComboBox(window) combo_box.addItem(“Apple”) combo_box.addItem(“Banana”) combo_box.addItem(“Cherry”) combo_box.addItem(“Date”) window.resize(200, 100) window.show() sys.exit(app.exec()) | cs |
QComboBox 위젯은 PyQt6에서 자주 사용되는 위젯 중 하나이며, 사용자가 선택한 값을 처리해야 하는 대부분의 애플리케이션에서 사용됩니다.
6. QSpinBox
QSpinBox 위젯은 사용자가 특정 범위 내에서 숫자를 선택할 수 있는 위젯입니다. 이 위젯은 사용자가 선택한 값을 저장하기 위해 사용됩니다. 최소값, 최대값, 단계 크기, 현재값, 텍스트, 색상, 폰트 등을 지정할 수 있습니다.
코드내용
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import sys from PyQt6.QtWidgets import QApplication, QSpinBox, QWidget app = QApplication(sys.argv) window = QWidget() spin_box = QSpinBox(window) spin_box.setMinimum(1) spin_box.setMaximum(10) spin_box.setSingleStep(1) spin_box.setValue(5) window.resize(200, 100) window.show() sys.exit(app.exec()) | cs |
QSpinBox 위젯은 PyQt6에서 자주 사용되는 위젯 중 하나이며, 사용자가 숫자 값을 선택해야 하는 대부분의 애플리케이션에서 사용됩니다.
7. QSlider
QSlider 위젯은 사용자가 특정 범위 내에서 값을 선택할 수 있는 위젯입니다. 이 위젯은 사용자가 선택한 값을 저장하기 위해 사용됩니다.또한, 사용자가 선택한 값을 보여주는 라벨과 함께 사용될 때 특히 유용합니다. 최소값, 최대값, 단계 크기, 현재값, 텍스트, 색상, 폰트 등을 지정할 수 있습니다.
코드내용
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | import sys from PyQt6.QtCore import Qt from PyQt6.QtWidgets import QApplication, QSlider, QLabel, QWidget, QVBoxLayout class Slider(QWidget): def __init__(self): super().__init__() self.init_ui() def init_ui(self): self.slider = QSlider(Qt.Orientation.Horizontal, self) self.slider.setMinimum(1) self.slider.setMaximum(100) self.slider.setTickInterval(10) self.slider.setTickPosition(QSlider.TickPosition.TicksBelow) self.label = QLabel(str(self.slider.value())) vbox = QVBoxLayout() vbox.addWidget(self.slider) vbox.addWidget(self.label) self.setLayout(vbox) self.slider.valueChanged.connect(self.update_label) def update_label(self): self.label.setText(str(self.slider.value())) if __name__ == ‘__main__’: app = QApplication(sys.argv) slider = Slider() slider.show() sys.exit(app.exec()) | cs |
QSlider 위젯은 PyQt6에서 자주 사용되는 위젯 중 하나이며, 사용자가 값을 선택해야 하는 대부분의 애플리케이션에서 사용됩니다.
8. 결론 및 의견
PyQt6 라이브러리에서 제공하는 위젯 중 QLabel, QPushButton, QCheckBox, QLineEdit, QComboBox, QSpinBox 그리고 QSlider 위젯에 대해 설명했습니다. 이러한 위젯은 GUI 프로그래밍에서 자주 사용되며, PyQt6를 사용하여 더욱 효율적이고 멋진 애플리케이션을 만들 수 있습니다.
[관련글]