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가 보입니다.
스타일 시트를 이용해 원하는 대로 변경해 보세요!