본문 바로가기
Python Library/PySide

[PySide] 위젯 (1)

by goatlab 2022. 6. 13.
728x90
반응형
SMALL

위젯

 

Qt (및 대부분의 사용자 인터페이스)에서 '위젯'은 사용자가 상호 작용할 수 있는 UI 구성 요소에 지정된 이름이다. 사용자 인터페이스는 창 내에 배열된 여러 위젯으로 구성된다.

 

Qt는 다양한 위젯을 사용할 수 있으며 사용자 정의 및 사용자 정의 위젯을 만들 수도 있다.

 

import sys

from PySide6.QtCore import Qt
from PySide6.QtWidgets import (
    QApplication,
    QCheckBox,
    QComboBox,
    QDateEdit,
    QDateTimeEdit,
    QDial,
    QDoubleSpinBox,
    QFontComboBox,
    QLabel,
    QLCDNumber,
    QLineEdit,
    QMainWindow,
    QProgressBar,
    QPushButton,
    QRadioButton,
    QSlider,
    QSpinBox,
    QTimeEdit,
    QVBoxLayout,
    QWidget,
)

# Subclass QMainWindow to customize your application's main window
class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        self.setWindowTitle("Widgets App")

        layout = QVBoxLayout()
        widgets = [
            QCheckBox,
            QComboBox,
            QDateEdit,
            QDateTimeEdit,
            QDial,
            QDoubleSpinBox,
            QFontComboBox,
            QLCDNumber,
            QLabel,
            QLineEdit,
            QProgressBar,
            QPushButton,
            QRadioButton,
            QSlider,
            QSpinBox,
            QTimeEdit,
        ]

        for w in widgets:
            layout.addWidget(w())

        widget = QWidget()
        widget.setLayout(layout)

        # Set the central widget of the Window. Widget will expand
        # to take up all the space in the window by default.
        self.setCentralWidget(widget)

app = QApplication(sys.argv)
window = MainWindow()
window.show()

app.exec_()

 

위젯을 실험하려면 위젯을 넣을 간단한 애플리케이션이 필요하다. 다음 코드를 파일에 저장하고 app.py을 실행하여 제대로 작동하는지 확인한다.

 

import sys
from PySide6.QtWidgets import (
    QMainWindow, QApplication,
    QLabel, QCheckBox, QComboBox, QListWidget, QLineEdit,
    QLineEdit, QSpinBox, QDoubleSpinBox, QSlider
)
from PySide6.QtCore import Qt

class MainWindow(QMainWindow):

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

        self.setWindowTitle("My App")

app = QApplication(sys.argv)
w = MainWindow()
w.show()
app.exec_()

 

728x90
반응형
LIST

'Python Library > PySide' 카테고리의 다른 글

[PySide] 위젯 (QComboBox, QListWidget) (3)  (0) 2022.06.13
[PySide] 위젯 (QLabel, QCheckBox) (2)  (0) 2022.06.13
[PySide] Context menus  (0) 2022.06.13
[PySide] 이벤트  (0) 2022.06.13
[PySide] 위젯 연결하기  (0) 2022.06.13