한국어
Qt
 

Qt Widgets 기반의 응용프로그램을 개발할 때 Qt 스타일 시트를 작성하여 스타일을 사용자 정의할 수 있다. Qt 스타일 시트는 QStyle을 서브클래싱하여 위젯의 모양을 사용자 정의할 수 있는 강력한 메커니즘이다.

다음의 간단한 예제는 응용 프로그램에서 모든 QLineEdit 의 배경색을 노란색으로 설정한다.

qApp->setStyleSheet("QLineEdit { background-color: yellow }");

특정 대화 상자의 자식(또는 손자 또는 손자들)인 QLineEdit에만 속성을 적용하려면 다음과 같이 한다.

myDialog->setStyleSheet("QLineEdit { background-color: yellow }");

Qt 스타일 시트의 구문 규칙이 CSS와 거의 동일하기 때문에 이미 CSS를 알고 있다면 빠르게 작성할 수 있겠지만 처음이라면 어려울 수 있다. 하지만 누군가가 이미 작성해서 공개한 Qt-Material 를 사용하면 쉽게 Dark테마 와 Material 디자인 스타일로 바꿀 수 있다. 다음은 런타임에 동적으로 스타일을 바꾸는 것을 보여 준다.

 

qt-material_example.zip

 

다음과 같이 런타임중에 stylesheet 파일을 읽어 바꿀 수 있다.

...
QFile f(":resource/theme/style.qss");

if (!f.exists())   {
    printf("Unable to set stylesheet, file not found\n");
}

else   {
    f.open(QFile::ReadOnly | QFile::Text);
    QTextStream ts(&f);
    qApp->setStyleSheet(ts.readAll());
}
...

 

https://github.com/UN-GCPDS/qt-material

https://github.com/ColinDuquesnoy/QDarkStyleSheet

번호 제목 글쓴이 날짜 조회 수
공지 Qt프로그래밍(QtQuick) Beginner를 위한 글 읽는 순서 운영자 2019.01.05 87686
119 안드로이드 가상장치 사용 file makersweb 2019.01.13 1182
118 QMake 프로젝트를 CMake 프로젝트로 변환 with qmake2cmake makersweb 2022.09.17 1189
117 Qml에서 커튼효과 구현 예제 - Shader Effects file 운영자 2018.12.05 1212
116 QProcess 예제 (프로그램 재시작) file makersweb 2023.01.25 1234
115 Qt 6의 비동기 API makersweb 2020.10.19 1314
114 많은 리소스를 사용하는 Qt프로젝트에서 고려해봐야 할 qmake 옵션 makersweb 2019.10.11 1318
113 Qt 하이브리드 애플리케이션(Hybrid App) 개발 file makersweb 2023.02.08 1327
112 재진입(Reentrancy) 및 스레드 안전성(Thread-Safety) makersweb 2020.04.19 1351
111 Qt 스마트 포인터 (QSharedPointer, QScopedPointer, QPointer) makersweb 2022.08.18 1364
110 웹기반 Qt Design Viewer [2] file makersweb 2019.10.23 1397
109 tslib의 ts_calibrate를 응용해서 Qt로 터치보정기능 구현 file makersweb 2019.04.06 1462
108 qInstallMessageHandler를 이용한 디버그 메세지 출력 제어하기 makersweb 2019.02.25 1470
107 QThread 및 QMutex 예제 makersweb 2021.01.12 1478
106 Qbs에 대한 소개와 설치하는 방법 makersweb 2019.10.09 1486
105 싱글터치 스크린 및 임베디드 리눅스 기반에서 Qt 터치입력 makersweb 2018.12.24 1513
104 QML과 JavaScript 의 숫자 관련 내장된 함수 makersweb 2021.03.28 1559
103 Qt Quick 3D 소개 makersweb 2019.11.09 1582
102 QML에서 undefined를 확인하는 방법 makersweb 2017.11.29 1604
101 ApplicationWindow 와 메뉴바(MenuBar)구성 file makersweb 2020.01.04 1616
» Widgets(C++) 기반의 기본 스타일을 Dark 테마 및 Material 디자인 스타일로 바꾸기 file makersweb 2023.01.28 1632