스타일 지정

Qt의 내장 위젯은 거의 모든 그리기 작업을 수행하기 위해 ` QStyle ` 클래스를 사용합니다. ` QStyle `는 GUI의 모양과 느낌을 캡슐화하는 추상 기본 클래스로, 위젯을 해당 네이티브 위젯과 정확히 동일하게 보이게 하거나 위젯에 사용자 정의 모양을 부여하는 데 사용할 수 있습니다.

Qt는 지원하는 플랫폼의 네이티브 외관과 일치하는 일련의 ` QStyle ` 구현체를 제공합니다. ` windows ` 및 ` fusion ` 스타일은 ` Qt Widgets ` 모듈에 내장되어 있으며, ` windows11 ` 및 ` macos`와 같은 플랫폼 스타일은 플러그인으로 로드됩니다. ` QStyleFactory `는 런타임에 사용할 수 있는 스타일 목록을 제공합니다. 애플리케이션은 링크를 통해 또는 플러그인 형태로 자체 스타일을 제공할 수도 있습니다.

스타일 요소를 그리는 데 사용되는 대부분의 함수는 네 개의 인자를 받습니다:

  • 그릴 그래픽 요소를 지정하는 열거형 값
  • 해당 요소를 어떻게, 어디에 렌더링할지 지정하는 ` QStyleOption ` 객체
  • 요소를 그리는 데 사용해야 할 ` QPainter ` 객체
  • 그리기가 수행될 ` QWidget ` 객체 (선택 사항)

스타일은 그래픽 요소를 렌더링하는 데 필요한 모든 정보를 ` QStyleOption ` 클래스에서 가져옵니다. 스타일이 특수 효과(예: macOS의 애니메이션이 적용된 기본 버튼)를 수행하는 데 위젯이 필요한 경우, 위젯이 마지막 인수로 전달되지만 이는 필수 사항은 아닙니다. 실제로 ` QStyle `는 위젯뿐만 아니라 모든 페인트 장치에 그리기 작업을 수행하는 데 사용할 수 있으며, 이 경우 위젯 인수는 0 포인터가 됩니다.

QStylePainter가 QPainter를 상속받는 것을 보여주는 다이어그램

페인트 시스템은 또한 ` QPainter`을 상속하는 ` QStylePainter ` 클래스를 제공합니다. ` QStylePainter `은 위젯 내부에 ` QStyle ` 요소를 그리는 데 편의를 제공하는 클래스로, ` QStyle`의 API를 기반으로 구현된 일련의 고수준 그리기 함수를 통해 ` QPainter `을 확장합니다. ` QStylePainter `을 사용하면 매개변수 목록이 상당히 짧아진다는 장점이 있습니다.

Qt에서 사용되는 아이콘QIcon

QIcon 클래스는 다양한 모드와 상태에서 크기를 조정할 수 있는 아이콘을 제공합니다.

QIcon 는 아이콘의 상태, 모드 및 크기를 반영하는 픽스맵을 생성할 수 있습니다. 이러한 픽스맵은 아이콘에 제공된 픽스맵 집합에서 생성되며, Qt Widgets에서 특정 동작을 나타내는 아이콘을 표시하는 데 사용됩니다.

QIcon 객체의 렌더링은 ` QIconEngine ` 클래스에서 처리합니다. 각 아이콘에는 요청된 크기, 모드 및 상태에 따라 아이콘을 그리는 역할을 담당하는 해당 아이콘 엔진이 있습니다.

위젯 스타일링 및 외관에 대한 자세한 내용은 『 스타일 및 스타일 인식 위젯 』과 『 Qt Widgets 의 스타일링 접근 방식』을 참조하십시오.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.