이번 글에서는 다른 사람이 작성한 테마를 위젯 기반 프로젝트에 적용하는 방법을 알아봅니다
전체 순서는 다음과 같습니다
- 프로젝트 생성
- 테마 파일 준비
- 빌드 시스템에 추가
- ui 작성
- 테마 적용 코드 작성
- 컴파일 후 실행
프로젝트 생성
QT Creator를 사용해서 프로젝트를 생성합니다
프로젝트는 위젯기반으로 생성합니다
빌드 시스템은 cmake로 설정한 뒤 넘어갑니다
성공적으로 생성한 뒤 잠시 기다리면 다음과 같은 모습을 볼 수 있습니다
ui를 미리 포함하지 않았다면 다소 다를 수 있습니다
테마파일 준비
준비한 테마를 프로젝트 폴더로 붙여넣기 합니다
(테마 파일은 첨부 파일을 참고합니다)
빌드시스템에 추가
빌드 시스템에 사용할 테마의 qrc파일을 등록합니다
앞에서 준비한 테마 폴더 내부에 resources.qrc 파일이 있습니다
추가를 한 뒤에 저장을 하면 프로젝트에 새로운 트리가 생깁니다
UI작성
테스트용 UI를 작성합니다
프로젝트 트리의 mainwindow.ui를 수정합니다
ui파일이 없다면 생성한 뒤 수정합니다
다음과 같은 모습으로 UI를 작성합니다
테마 적용 코드 작성
테마를 적용하는 코드를 작성합니다
main.cpp에 다음 코드를 작성합니다
QDir::addSearchPath("icon", ":/icon/theme");
QFile file(":/file/dark_teal.qss");
file.open(QFile::ReadOnly);
QString styleSheet { file.readAll() };
a.setStyleSheet(styleSheet);
작성된 모습은 다음과 같습니다
컴파일 후 실행
테마를 적용하기 위한 준비가 끝났습니다
프로젝트를 빌드한 뒤 실행합니다
끝
사용된 테마 : https://github.com/UN-GCPDS/qt-material 에서 가져왔습니다
완성된 코드 : https://github.com/boa9448/qt_study
GitHub - boa9448/qt_study: qt study
qt study. Contribute to boa9448/qt_study development by creating an account on GitHub.
github.com
'날먹을 위한 몸부림 > QT (PySide6)' 카테고리의 다른 글
qml에 material 스타일 적용하기 (2) | 2024.06.21 |
---|---|
python을 백앤드로 사용하는 qml 데모 - 2 (0) | 2024.06.21 |
python을 백앤드로 사용하는 qml 데모 - 1 (2) | 2024.06.19 |
pyside6에서 윈도우 핫키 컨트롤 사용하기(공용 컨트롤) (2) | 2022.08.30 |
python SetWindowDisplayAffinity (2) | 2022.08.22 |