PyQt6를 사용하여 개발자는 시각적으로 매력적이고 사용자 친화적인 GUI 애플리케이션을 구축할 수 있습니다. PyQt6 스타일링은 CSS와 유사한 구문을 사용하여 GUI의 모양을 사용자 지정할 수 있습니다. 이 글에서는 파이썬 PyQt6 스타일링 - setStyleSheet 에 대해 공부해 보겠습니다.
[목차]
1. 파이썬 PyQt6 스타일링 이해하기
2. PyQt6 환경 설정
3. CSS와 유사한 구문을 사용한 기본 스타일 지정
4. 위젯에 스타일 적용
5. 선택기 유형 및 의사 상태
6. 고급 스타일링 기법
7. 외부 스타일 시트 사용
8. 스타일 충돌 및 상속 처리
9. 사용자 지정 위젯 스타일 지정
10. 전체코드 보기
11. 결론 및 의견
1. 파이썬 PyQt6 스타일링 이해하기
PyQt6 스타일링은 유연하고 직관적인 방법을 제공하여 PyQt6 위젯의 기본 모양을 변환하는 유용한 기술입니다.
2. PyQt6 환경 설정
PyQt6 스타일링을 위해서는 PyQt6을 설치해야 합니다. 설치가 완료되면 PyQt6 애플리케이션을 만들 준비가 된 것입니다.
3. CSS와 유사한 구문을 사용한 기본 스타일 지정
QPushButton 위젯의 배경색, 글꼴, 패딩 및 테두리 속성을 수정할 수 있습니다.
button.setStyleSheet("background-color: #4CAF50;")
button.setStyleSheet("font: bold 14px;"
"padding: 10px;"
"border: 2px solid #555555;")
4. 위젯에 스타일 적용
스타일 시트를 QApplication 또는 상위 위젯에 할당하여 여러 위젯에 적용할 수 있습니다.
app.setStyleSheet("QPushButton {"
" background-color: #4CAF50;"
" color: white;"
" padding: 10px;"
" border: none;"
"}")
5. 선택기 유형 및 의사 상태
PyQt6 스타일링은 유형 선택기, 클래스 선택기 및 ID 선택기와 같은 다양한 선택기 유형을 지원하고 의사 상태를 활용하여 특정 위젯 상태를 대상으로 지정할 수 있습니다.
button.setStyleSheet("QPushButton:hover {"
" background-color: #55aaff;"
"}")
6. 고급 스타일링 기법
그라데이션 배경, 상자 그림자, 전환 및 애니메이션 등 고급 기술을 제공합니다.
button.setStyleSheet("background: qradialgradient(cx: 0.5, cy: 0.5, radius: 1,"
"stop: 0 #ff0000, stop: 1 #0000ff);")
7. 외부 스타일 시트 사용
외부 스타일 시트를 사용하여 코드에서 스타일 정의를 분리하여 재사용성과 유지 관리를 촉진할 수 있습니다.
app.setStyleSheet("file_path/style.qss")
8. 스타일 충돌 및 상속 처리
서로 다른 스타일 정의 간에 충돌이 발생할 수 있으므로 QStyle 클래스를 활용하여 개별 위젯에 대한 특정 스타일을 설정해야 합니다. PyQt6 스타일 지정은 상속을 지원하므로 여러 위젯에 적용할 수 있는 스타일 클래스를 만들 수 있습니다.
9. 사용자 지정 위젯 스타일 지정
PyQt6을 사용하여 사용자 지정 위젯을 만들고 매끄럽게 스타일을 지정할 수 있습니다.
class CustomLabel(QLabel):
def __init__(self, text):
super().__init__(text)
self.setStyleSheet("color: red; font-size: 20px;")
10. 전체코드 보기
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
import sys
from PyQt6.QtWidgets import QApplication, QWidget, QPushButton, QLabel
def main():
# Create the application instance
app = QApplication(sys.argv)
# Section 4: Applying Styles to Widgets
app.setStyleSheet("QPushButton {"
" background-color: #4CAF50;"
" color: white;"
" padding: 10px;"
" border: none;"
"}")
# Section 9: Styling Custom Widgets
class CustomLabel(QLabel):
def __init__(self, text):
super().__init__(text)
self.setStyleSheet("color: red; font-size: 20px;")
# Create a window
window = QWidget()
# Section 3: Basic Styling with CSS-like Syntax
button = QPushButton("Click me", window)
button.setStyleSheet("font: bold 14px;"
"padding: 10px;"
"border: 2px solid #555555;")
# Section 6: Advanced Styling Techniques
button.setStyleSheet("background: qradialgradient(cx: 0.5, cy: 0.5, radius: 1,"
"stop: 0 #ff0000, stop: 1 #0000ff);")
# Section 9: Styling Custom Widgets
label = CustomLabel("Custom Label")
# Set window properties
window.setWindowTitle("PyQt6 Styling Example")
window.setGeometry(100, 100, 400, 200)
# Display the window
window.show()
# Execute the application
sys.exit(app.exec())
if __name__ == "__main__":
main()
|
cs |
실행화면
11. 결론 및 의견
지금까지 파이썬 PyQt6 스타일링 - setStyleSheet 에 대해 알아봤습니다. 프로그램의 완성도를 높이기 위해서 디자인 적용을 위해 꼭 필요한 기능이니 숙지해두시면 좋습니다.
[관련글]
[파이썬 (pythoon)] - PyQt6을 사용하여 간단한 계산기를 만드는 방법
[파이썬 (pythoon)] - PyQt6를 사용한 간단한 로그인 프로그램 만들기
[정보 및 유용한 팁] - 챗GPT 란? (CHAT GPT 사용)
'파이썬 (pythoon)' 카테고리의 다른 글
파이썬 pyqt6 팝업 창 만들기 - QMessageBox() (0) | 2023.06.30 |
---|---|
Python Pygame 사용 똥피하기 게임 만들기 (0) | 2023.06.29 |
PyQt6를 사용한 간단한 로그인 프로그램 만들기 (0) | 2023.06.27 |
PyQt6을 사용하여 간단한 계산기를 만드는 방법 (0) | 2023.06.26 |
Python GUI Pyqt6 vs Tkinter vs PySide2 (0) | 2023.06.25 |