콘텐츠로 건너뛰기
» PyQt로 UI 검은색 theme으로 변경하는 방법

PyQt로 UI 검은색 theme으로 변경하는 방법

PyQt로 구현 중인 애플리케이션의 전체 UI를 검은색 베이스로 설정하려면 스타일 시트를 사용하여 테마를 지정할 수 있습니다. PyQt에서는 CSS와 유사한 스타일 시트를 사용하여 위젯의 모양을 설정할 수 있습니다. 다음은 전체 UI를 검은색 베이스로 설정하는 예제입니다.

스타일 시트 정의

먼저, 검은색 베이스의 스타일 시트를 정의합니다.

dark_style = """
QWidget {
    background-color: #2B2B2B;
    color: #FFFFFF;
    font-family: Arial;
    font-size: 14px;
}
QPushButton {
    background-color: #3C3F41;
    color: #FFFFFF;
    border: 1px solid #4A4A4A;
    padding: 5px;
    border-radius: 5px;
}
QPushButton:hover {
    background-color: #5A5A5A;
}
QLineEdit {
    background-color: #3C3F41;
    color: #FFFFFF;
    border: 1px solid #4A4A4A;
    padding: 5px;
    border-radius: 5px;
}
QLabel {
    color: #FFFFFF;
}
QMenuBar {
    background-color: #2B2B2B;
    color: #FFFFFF;
}
QMenu {
    background-color: #2B2B2B;
    color: #FFFFFF;
}
QMenu::item:selected {
    background-color: #5A5A5A;
}
QStatusBar {
    background-color: #2B2B2B;
    color: #FFFFFF;
}
"""

스타일 시트를 애플리케이션에 적용

PyQt 애플리케이션에 스타일 시트를 적용하려면 다음과 같이 설정합니다.

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QLineEdit, QLabel, QVBoxLayout, QWidget

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

        self.setWindowTitle("Dark Theme Example")
        self.setGeometry(100, 100, 800, 600)

        # 메인 위젯과 레이아웃 설정
        main_widget = QWidget()
        layout = QVBoxLayout()

        # 위젯 생성
        button = QPushButton("Click Me")
        line_edit = QLineEdit()
        label = QLabel("This is a label")

        # 레이아웃에 위젯 추가
        layout.addWidget(button)
        layout.addWidget(line_edit)
        layout.addWidget(label)

        main_widget.setLayout(layout)
        self.setCentralWidget(main_widget)

if __name__ == "__main__":
    app = QApplication(sys.argv)

    # 스타일 시트 적용
    app.setStyleSheet(dark_style)

    window = MainWindow()
    window.show()

    sys.exit(app.exec_())

위 코드를 실행하면, 검은색 베이스의 UI를 가진 UI가 보입니다.

스타일 시트를 이용해 원하는 대로 변경해 보세요!