날먹을 위한 몸부림/QT (PySide6)

c++ qt에 material 테마 적용하기

프로그래밍하는 지팡이 2022. 5. 26. 02:11

이번 글에서는 다른 사람이 작성한 테마를 위젯 기반 프로젝트에 적용하는 방법을 알아봅니다

 

전체 순서는 다음과 같습니다

 

  • 프로젝트 생성
  • 테마 파일 준비
  • 빌드 시스템에 추가
  • ui 작성
  • 테마 적용 코드 작성
  • 컴파일 후 실행

 

 

프로젝트 생성

QT Creator를 사용해서 프로젝트를 생성합니다

프로젝트는 위젯기반으로 생성합니다

위젯 애플리케이션 프로젝트를 생성합니다

 

 

빌드 시스템은 cmake로 설정한 뒤 넘어갑니다

빌드 시스템은 cmake를 사용한다

 

 

 

성공적으로 생성한 뒤 잠시 기다리면 다음과 같은 모습을 볼 수 있습니다

ui를 미리 포함하지 않았다면 다소 다를 수 있습니다

 

프로젝트가 생성된 모습

 

 

테마파일 준비

준비한 테마를 프로젝트 폴더로 붙여넣기 합니다

(테마 파일은 첨부 파일을 참고합니다)

 

프로젝트 폴더에 테마파일을 준비한 모습

 

빌드시스템에 추가

 

빌드 시스템에 사용할 테마의 qrc파일을 등록합니다

앞에서 준비한 테마 폴더 내부에 resources.qrc 파일이 있습니다

 

빌드 시스템에 qrc파일을 추가한 모습

 

 

추가를 한 뒤에 저장을 하면 프로젝트에 새로운 트리가 생깁니다

새로운 파일 트리가 생성된 모습

 

 

UI작성

 

테스트용 UI를 작성합니다

프로젝트 트리의 mainwindow.ui를 수정합니다

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