이 페이지에서

QStyle Class

QStyle 클래스는 GUI의 모양과 느낌을 캡슐화하는 추상 기본 클래스입니다. 더 보기...

헤더: #include <QStyle>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
상속: QObject
상속받는 클래스:

QCommonStyle

공개 타입

enum ComplexControl { CC_SpinBox, CC_ComboBox, CC_ScrollBar, CC_Slider, CC_ToolButton, …, CC_CustomBase }
enum ContentsType { CT_CheckBox, CT_ComboBox, CT_HeaderSection, CT_LineEdit, CT_Menu, …, CT_MdiControls }
enum ControlElement { CE_PushButton, CE_PushButtonBevel, CE_PushButtonLabel, CE_DockWidgetTitle, CE_Splitter, …, CE_ShapedFrame }
enum PixelMetric { PM_ButtonMargin, PM_DockWidgetTitleBarButtonMargin, PM_ButtonDefaultIndicator, PM_MenuButtonIndicator, PM_ButtonShiftHorizontal, …, PM_CustomBase }
enum PrimitiveElement { PE_PanelButtonCommand, PE_FrameDefaultButton, PE_PanelButtonBevel, PE_PanelButtonTool, PE_PanelLineEdit, …, PE_PanelMenu }
enum RequestSoftwareInputPanel { RSIP_OnMouseClickAndAlreadyFocused, RSIP_OnMouseClick }
enum StandardPixmap { SP_TitleBarMinButton, SP_TitleBarMenuButton, SP_TitleBarMaxButton, SP_TitleBarCloseButton, SP_TitleBarNormalButton, …, SP_CustomBase }
flags State
enum StateFlag { State_None, State_Active, State_AutoRaise, State_Children, State_DownArrow, …, State_Small }
enum StyleHint { SH_EtchDisabledText, SH_DitherDisabledText, SH_ScrollBar_ContextMenu, SH_ScrollBar_MiddleClickAbsolutePosition, SH_ScrollBar_LeftClickAbsolutePosition, …, SH_Table_AlwaysDrawLeftTopGridLines }
enum SubControl { SC_None, SC_ScrollBarAddLine, SC_ScrollBarSubLine, SC_ScrollBarAddPage, SC_ScrollBarSubPage, …, SC_All }
flags SubControls
enum SubElement { SE_PushButtonContents, SE_PushButtonFocusRect, SE_PushButtonLayoutItem, SE_PushButtonBevel, SE_CheckBoxIndicator, …, SE_ToolBarHandle }

공개 함수

QStyle()
virtual ~QStyle()
int combinedLayoutSpacing(QSizePolicy::ControlTypes controls1, QSizePolicy::ControlTypes controls2, Qt::Orientation orientation, QStyleOption *option = nullptr, QWidget *widget = nullptr) const
virtual void drawComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget = nullptr) const = 0
virtual void drawControl(QStyle::ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const = 0
virtual void drawItemPixmap(QPainter *painter, const QRect &rectangle, int alignment, const QPixmap &pixmap) const
virtual void drawItemText(QPainter *painter, const QRect &rectangle, int alignment, const QPalette &palette, bool enabled, const QString &text, QPalette::ColorRole textRole = QPalette::NoRole) const
virtual void drawPrimitive(QStyle::PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const = 0
virtual QPixmap generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap, const QStyleOption *option) const = 0
virtual QStyle::SubControl hitTestComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, const QPoint &position, const QWidget *widget = nullptr) const = 0
virtual QRect itemPixmapRect(const QRect &rectangle, int alignment, const QPixmap &pixmap) const
virtual QRect itemTextRect(const QFontMetrics &metrics, const QRect &rectangle, int alignment, bool enabled, const QString &text) const
virtual int layoutSpacing(QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const = 0
(since 6.1) QString name() const
virtual int pixelMetric(QStyle::PixelMetric metric, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const = 0
virtual void polish(QWidget *widget)
virtual void polish(QApplication *application)
virtual void polish(QPalette &palette)
const QStyle *proxy() const
virtual QSize sizeFromContents(QStyle::ContentsType type, const QStyleOption *option, const QSize &contentsSize, const QWidget *widget = nullptr) const = 0
virtual QIcon standardIcon(QStyle::StandardPixmap standardIcon, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const = 0
virtual QPalette standardPalette() const
virtual int styleHint(QStyle::StyleHint hint, const QStyleOption *option = nullptr, const QWidget *widget = nullptr, QStyleHintReturn *returnData = nullptr) const = 0
virtual QRect subControlRect(QStyle::ComplexControl control, const QStyleOptionComplex *option, QStyle::SubControl subControl, const QWidget *widget = nullptr) const = 0
virtual QRect subElementRect(QStyle::SubElement element, const QStyleOption *option, const QWidget *widget = nullptr) const = 0
virtual void unpolish(QWidget *widget)
virtual void unpolish(QApplication *application)

정적 공용 멤버

QRect alignedRect(Qt::LayoutDirection direction, Qt::Alignment alignment, const QSize &size, const QRect &rectangle)
int sliderPositionFromValue(int min, int max, int logicalValue, int span, bool upsideDown = false)
int sliderValueFromPosition(int min, int max, int position, int span, bool upsideDown = false)
Qt::Alignment visualAlignment(Qt::LayoutDirection direction, Qt::Alignment alignment)
QPoint visualPos(Qt::LayoutDirection direction, const QRect &boundingRectangle, const QPoint &logicalPosition)
QRect visualRect(Qt::LayoutDirection direction, const QRect &boundingRectangle, const QRect &logicalRectangle)

상세 설명

Qt에는 지원하는 플랫폼의 외관과 일치하는 일련의 QStyle 구현체가 포함되어 있습니다. windows 및 fusion 스타일은 Qt Widgets 모듈에 내장되어 있습니다. 플랫폼 스타일은 스타일 플러그인입니다: Windows 11 Fluent 디자인을 따르는 windows11, Windows용 windowsvista, macOS용 macos, Android용 android 등이 있습니다. QStyleFactory 는 런타임에 사용할 수 있는 스타일을 나열하며, 이름을 지정하여 해당 스타일을 생성합니다.

Qt의 내장 위젯은 거의 모든 그리기 작업을 QStyle을 사용하여 수행하므로, 해당 네이티브 위젯과 정확히 동일한 모양을 보장합니다. 다음 이미지는 Windows에서 windows11, windowsvista, windows 스타일과, macOS에서 fusion 및 macos 스타일로 표시된 동일한 양식을 보여줍니다.

Windows 11 스타일의 텍스트 입력란, 콤보 박스, 스핀 박스, 슬라이더, 체크박스, 진행률 표시줄 및 버튼이 포함된 양식

Windows 11

Windows Vista 스타일의 텍스트 입력란, 콤보 박스, 스핀 박스, 슬라이더, 체크박스, 진행률 표시줄 및 버튼이 포함된 양식

Windows Vista

Windows 스타일의 텍스트 입력란, 콤보 박스, 스핀 박스, 슬라이더, 체크박스, 진행률 표시줄 및 버튼이 포함된 양식

Windows

Fusion 스타일의 텍스트 입력란, 콤보 박스, 스핀 박스, 슬라이더, 체크박스, 진행률 표시줄 및 버튼이 포함된 양식

Fusion

어두운 색상 팔레트를 적용한 퓨전 스타일의 양식으로, 텍스트 입력란, 콤보 박스, 스핀 박스, 슬라이더, 체크박스, 진행률 표시줄 및 버튼이 포함되어 있습니다.

어두운 색상 팔레트가 적용된 Fusion

macOS 스타일의 텍스트 입력란, 콤보 박스, 스핀 박스, 슬라이더, 체크박스, 진행률 표시줄 및 버튼이 포함된 양식

macOS

스타일 설정

QApplication::setStyle() 함수를 사용하여 전체 애플리케이션의 스타일을 설정할 수 있습니다. 또한 애플리케이션 사용자가 -style 명령줄 옵션을 사용하여 스타일을 지정할 수도 있습니다:

./myapplication -style windows

스타일이 지정되지 않은 경우, Qt는 사용자의 플랫폼이나 데스크톱 환경에 가장 적합한 스타일을 선택합니다.

QWidget::setStyle() 함수를 사용하여 개별 위젯에 스타일을 설정할 수도 있습니다.

스타일링 방식 선택

변경하고자 하는 범위에 맞는 메커니즘을 선택하십시오:

  • 플랫폼 스타일을 조정하려면 ` QProxyStyle`의 서브클래스를 상속받으십시오.
  • 완전히 사용자 정의된 외관을 구현하려면 QCommonStyle 의 서브클래스를 만드십시오.
  • 디자인을 선언적으로 기술하고 Qt Quick Controls 와 공유하려면 StyleKit 과 그 QStyleKitStyle 를 사용하십시오.

' Qt Widgets 의 스타일링 접근 방식 '에서는 이러한 옵션을 Qt 스타일 시트와 비교하고, 각각이 언제 적합한지 설명합니다.

스타일 인식 사용자 정의 위젯 개발

사용자 정의 위젯을 개발하고 모든 플랫폼에서 위젯이 멋지게 보이게 하려면, QStyle 함수(예: drawItemText(), drawItemPixmap(), drawPrimitive(), drawControl(), drawComplexControl())를 사용하여 위젯 그리기의 일부를 수행할 수 있습니다.

대부분의 QStyle 그리기 함수는 네 개의 인수를 받습니다:

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

예를 들어, 위젯에 포커스 사각형을 그리려면 다음과 같이 작성할 수 있습니다:

void MyWidget::paintEvent(QPaintEvent * /* event */)
{
    QPainter painter(this);

    QStyleOptionFocusRect option;
    option.initFrom(this);
    option.backgroundColor = palette().color(QPalette::Window);

    style()->drawPrimitive(QStyle::PE_FrameFocusRect, &option, &painter, this);
}

QStyle은 그래픽 요소를 렌더링하는 데 필요한 모든 정보를 ` QStyleOption`에서 얻습니다. 위젯은 스타일에서 특수 효과(예: macOS의 애니메이션이 적용된 기본 버튼)를 구현하는 데 필요한 경우를 대비해 마지막 인자로 전달되지만, 이는 필수 사항은 아닙니다. 실제로, ` QPainter `을 적절히 설정하면 위젯뿐만 아니라 어떤 페인트 장치에서도 QStyle을 사용하여 그리기를 수행할 수 있습니다.

QStyleOption PE_FrameFocusRect 에는 그릴 수 있는 다양한 유형의 그래픽 요소를 위한 여러 하위 클래스가 있습니다. 예를 들어, 는 인수를 기대합니다. QStyleOptionFocusRect

그리기 작업이 가능한 한 빠르게 수행되도록 하기 위해, ` QStyleOption ` 및 그 하위 클래스들은 공용 데이터 멤버를 가지고 있습니다. 사용 방법에 대한 자세한 내용은 ` QStyleOption ` 클래스 문서를 참조하십시오.

편의상 Qt는 QStyle, QPainter, QWidget 을 결합한 QStylePainter 클래스를 제공합니다. 이를 통해

    QStylePainter painter(this);
    ...
painter.drawPrimitive(QStyle::PE_FrameFocusRect, option);

다음과 같이 작성할 수 있습니다.

QPainter painter(this);
    ...
style()->drawPrimitive(QStyle::PE_FrameFocusRect, &option, &painter, this);

사용자 정의 스타일 만들기

사용자 정의 스타일을 만들어 애플리케이션에 맞춤형 룩앤필을 적용할 수 있습니다. 두 가지 접근 방식이 있습니다. 기존 스타일의 특정 측면을 변경하려면 ` QProxyStyle `의 서브클래스를 생성하고, 변경하려는 요소를 그리거나 크기를 측정하는 가상 함수를 재구현하면 됩니다. 프록시는 나머지 모든 작업을 감싸고 있는 스타일(기본적으로 플랫폼 스타일)로 전달합니다. 완전한 디자인을 구현하려면, Qt의 모든 스타일이 공유하는 동작을 구현하고 그리기 작업은 사용자에게 맡기는 ` QCommonStyle`의 서브클래스를 생성하십시오. Qt의 내장 스타일은 공개 API의 일부가 아니며 기본 클래스로 사용할 수 없으므로, 대신 ` QProxyStyle `로 래핑해야 합니다.

기본 스타일의 어떤 부분을 변경하고자 하는지에 따라, 인터페이스의 해당 부분을 그리는 데 사용되는 함수를 재구현해야 합니다. 이를 설명하기 위해, 플랫폼 스타일이 그리는 스핀 박스 화살표의 모양을 수정해 보겠습니다. 화살표는 drawPrimitive() 함수로 그려지는 기본 요소이므로, 해당 함수를 재구현해야 합니다. 다음과 같은 클래스 선언이 필요합니다:

class CustomStyle : public QProxyStyle
{
    Q_OBJECT

public:
    explicit CustomStyle(const QWidget *widget = nullptr);
    ~CustomStyle() {}

    void drawPrimitive(PrimitiveElement element, const QStyleOption *option,
                       QPainter *painter, const QWidget *widget) const override;
};

QSpinBox 는 위쪽 및 아래쪽 화살표를 그리기 위해 PE_IndicatorSpinUp 및 PE_IndicatorSpinDown 기본 요소를 사용합니다. 이를 다르게 그리기 위해 drawPrimitive() 함수를 재구현하는 방법은 다음과 같습니다:

void CustomStyle::drawPrimitive(PrimitiveElement element, const QStyleOption *option,
                                QPainter *painter, const QWidget *widget) const
{
    if (element == PE_IndicatorSpinUp || element == PE_IndicatorSpinDown) {
        QPolygon points(3);
        int x = option->rect.x();
        int y = option->rect.y();
        int w = option->rect.width() / 2;
        int h = option->rect.height() / 2;
        x += (option->rect.width() - w) / 2;
        y += (option->rect.height() - h) / 2;

        if (element == PE_IndicatorSpinUp) {
            points[0] = QPoint(x, y + h);
            points[1] = QPoint(x + w, y + h);
            points[2] = QPoint(x + w / 2, y);
        } else { // PE_SpinBoxDown
            points[0] = QPoint(x, y);
            points[1] = QPoint(x + w, y);
            points[2] = QPoint(x + w / 2, y + h);
        }

        if (option->state & State_Enabled) {
            painter->setPen(option->palette.mid().color());
            painter->setBrush(option->palette.buttonText());
        } else {
            painter->setPen(option->palette.buttonText().color());
            painter->setBrush(option->palette.mid());
        }
        painter->drawPolygon(points);
    } else {
        QProxyStyle::drawPrimitive(element, option, painter, widget);
    }
}

widget 인수는 QProxyStyle::drawPrimitive() 함수에 전달하는 경우를 제외하고는 사용하지 않는다는 점에 유의하십시오. 앞서 언급했듯이, 무엇을 어떻게 그릴지에 대한 정보는 QStyleOption 객체를 통해 지정되므로 위젯에 직접 물어볼 필요가 없습니다.

추가 정보를 얻기 위해 ` widget ` 인수를 사용해야 하는 경우, 사용하기 전에 해당 값이 0이 아니며 올바른 유형인지 주의 깊게 확인해야 합니다. 예를 들어:

const QSpinBox *spinBox = qobject_cast<const QSpinBox *>(widget);
if (spinBox) {
    //...
}

사용자 정의 스타일을 구현할 때, 열거형 값이 ` PE_IndicatorSpinUp `이나 ` PE_IndicatorSpinDown`이라고 해서 위젯이 ` QSpinBox `이라고 가정해서는 안 됩니다.

사용자 정의 스타일 사용

Qt 애플리케이션에서 사용자 정의 스타일을 사용하는 방법에는 여러 가지가 있습니다. 가장 간단한 방법은 QApplication 객체를 생성하기 전에 사용자 정의 스타일을 QApplication::setStyle() 정적 함수에 전달하는 것입니다:

#include <QtWidgets>

#include "customstyle.h"

int main(int argc, char *argv[])
{
    QApplication::setStyle(new CustomStyle);
    QApplication app(argc, argv);
    QSpinBox spinBox;
    spinBox.show();
    return app.exec();
}

QApplication::setStyle()는 언제든지 호출할 수 있지만, 생성자 호출 전에 호출하면 -style 명령줄 옵션을 통해 설정된 사용자 기본 설정이 반영되도록 보장할 수 있습니다.

사용자가 직접 개발하지 않아 재컴파일할 수 없는 다른 애플리케이션에서도 사용자 정의 스타일을 사용할 수 있도록 하고 싶을 수 있습니다. Qt 플러그인 시스템을 사용하면 스타일을 플러그인으로 생성할 수 있습니다. 플러그인으로 생성된 스타일은 실행 시 Qt에 의해 공유 객체로 로드됩니다. 스타일 플러그인을 생성하는 방법에 대한 자세한 내용은 Qt 플러그인 문서를 참조하십시오.

플러그인을 컴파일하여 Qt의 ` plugins/styles ` 디렉터리에 배치하십시오. 이제 Qt가 자동으로 로드할 수 있는 플러그인 가능한 스타일이 준비되었습니다. 기존 애플리케이션에서 새 스타일을 사용하려면 다음 인수를 사용하여 애플리케이션을 실행하기만 하면 됩니다.

./myapplication -style custom

그러면 애플리케이션은 구현한 사용자 정의 스타일의 룩앤필을 사용하게 됩니다.

오른쪽에서 왼쪽으로 읽는 데스크톱

오른쪽에서 왼쪽으로 쓰는 언어(아랍어, 히브리어 등)는 일반적으로 위젯의 전체 레이아웃도 거울처럼 반전되며, 빛이 화면의 왼쪽 상단이 아닌 오른쪽 상단 모서리에서 비춰져야 합니다.

사용자 정의 스타일을 만들 때는 비대칭 요소를 그릴 때 각별한 주의를 기울여, 거울처럼 반전된 레이아웃에서도 올바르게 표시되도록 해야 합니다. 스타일을 테스트하는 쉬운 방법은 ` -reverse ` 명령줄 옵션을 사용하여 애플리케이션을 실행하거나, ` main() ` 함수 내에서 ` QApplication::setLayoutDirection()`를 호출하는 것입니다.

스타일이 오른쪽에서 왼쪽으로 읽는 환경에서 원활하게 작동하도록 하려면 다음 사항을 유의해야 합니다.

  • subControlRect() 및 subElementRect()는 화면 좌표계의 사각형을 반환합니다.
  • QStyleOption::direction 는 항목이 어느 방향으로 그려져야 하는지를 나타냅니다
  • 스타일이 오른쪽에서 왼쪽으로(RTL) 방향을 지원하지 않는 경우, 항목을 마치 왼쪽에서 오른쪽으로(LTR)인 것처럼 표시합니다
  • visualRect(), visualPos() 및 visualAlignment()은 논리적 표현을 화면 표현으로 변환하는 데 유용한 함수입니다.
  • alignedRect()는 현재 방향에 맞춰 정렬된 논리적 사각형을 반환합니다

항목 뷰의 스타일

뷰에서 항목의 그리기 작업은 델리게이트에 의해 수행됩니다. Qt의 기본 델리게이트인 QStyledItemDelegate 는 data roles QStyledItemDelegate 가 지원하는 다양한 종류의 항목에 대해 항목 및 그 하위 요소의 경계 사각형을 계산하는 데에도 사용됩니다. 지원되는 데이터 유형과 역할에 대해서는 QStyledItemDelegate 클래스 설명을 참조하십시오. 항목 데이터 역할에 대한 자세한 내용은 ‘모델/뷰 프로그래밍’에서 확인할 수 있습니다.

QStyledItemDelegate 가 항목을 그릴 때는 CE_ItemViewItem 를 그리며, CT_ItemViewItem 를 사용하여 크기를 계산합니다. 또한 SE_ItemViewItemText 를 사용하여 편집기의 크기를 설정한다는 점에 유의하십시오. 항목 뷰의 그리기 방식을 사용자 정의하기 위해 스타일을 구현할 때는 QCommonStyle (및 해당 스타일이 상속받는 다른 모든 하위 클래스)의 구현을 확인해야 합니다. 이렇게 하면 다른 스타일 요소들이 어떤 방식으로 그려지는지 파악할 수 있으며, 이후 다르게 그려져야 하는 요소들의 그리기 방식을 재구현할 수 있습니다.

다음은 항목 배경의 그리기를 사용자 정의하는 간단한 예제를 소개합니다.

switch (element) {
    case (PE_PanelItemViewItem): {
        painter->save();

        QPoint topLeft = option->rect.topLeft();
        QPoint bottomRight = option->rect.topRight();
        QLinearGradient backgroundGradient(topLeft, bottomRight);
        backgroundGradient.setColorAt(0.0, QColor(Qt::yellow).lighter(190));
        backgroundGradient.setColorAt(1.0, Qt::white);
        painter->fillRect(option->rect, QBrush(backgroundGradient));

        painter->restore();
    break;
    }
    default:
        QProxyStyle::drawPrimitive(element, option, painter, widget);
}

기본 요소인 ` PE_PanelItemViewItem `는 항목의 배경을 그리는 역할을 담당하며, ` QCommonStyle`의 ` CE_ItemViewItem` 구현체에서 호출됩니다.

새로운 데이터 유형 및 항목 데이터 역할의 그리기를 지원하려면 사용자 정의 델리게이트를 생성해야 합니다. 하지만 기본 델리게이트에서 구현된 데이터 유형만 지원하면 되는 경우, 사용자 정의 스타일에는 별도의 델리게이트가 필요하지 않습니다. QStyledItemDelegate 클래스 설명에서 사용자 정의 델리게이트에 대한 자세한 정보를 확인할 수 있습니다.

항목 뷰 헤더의 그리기 작업도 스타일을 통해 수행되므로, 헤더 항목의 크기와 행 및 열 크기를 제어할 수 있습니다.

QStyleOption, QStylePainter, 스타일 및 스타일 인식 위젯, Qt Widgets 에 대한 스타일링 접근 방식, QStyledItemDelegate, 스타일링항목도 참조하십시오 .

멤버 유형 문서

enum QStyle::ComplexControl

이 열거형은 사용 가능한 복합 컨트롤을 설명합니다. 복합 컨트롤은 사용자가 어디를 클릭하거나 어떤 키를 누르느냐에 따라 동작이 달라집니다.

상수값설명
QStyle::CC_SpinBox0QSpinBox 와 같은 스핀박스입니다.
QStyle::CC_ComboBox1QComboBox 와 같은 콤보박스입니다.
QStyle::CC_ScrollBar2QScrollBar 와 같은 스크롤 막대.
QStyle::CC_Slider3QSlider 와 같은 슬라이더.
QStyle::CC_ToolButton4QToolButton 과 같은 도구 버튼.
QStyle::CC_TitleBar5QMdiSubWindow 에서 사용되는 것과 같은 제목 표시줄.
QStyle::CC_GroupBox7QGroupBox 와 같은 그룹 박스.
QStyle::CC_Dial6QDial 와 같은 다이얼.
QStyle::CC_MdiControls8최대화 된 MDI 하위 창의 메뉴 모음에 있는 최소화, 닫기 및 일반 버튼.
QStyle::CC_CustomBase0xf0000000사용자 정의 복합 컨트롤의 기본값. 사용자 정의 값은 이 값보다 커야 합니다.

SubControl 및 drawComplexControl()도 참조하십시오 .

enum QStyle::ContentsType

이 열거형은 사용 가능한 콘텐츠 유형을 설명합니다. 이 유형들은 다양한 위젯의 콘텐츠 크기를 계산하는 데 사용됩니다.

상수값설명
QStyle::CT_CheckBox1QCheckBox 와 같은 체크박스입니다.
QStyle::CT_ComboBox4QComboBox 와 같은 콤보 박스입니다.
QStyle::CT_HeaderSection19QHeader와 같은 헤더 섹션.
QStyle::CT_LineEdit14QLineEdit 와 같은 라인 편집 상자.
QStyle::CT_Menu10QMenu 와 같은 메뉴.
QStyle::CT_MenuBar9QMenuBar 와 같은 메뉴 바.
QStyle::CT_MenuBarItem8QMenuBar 의 버튼과 같은 메뉴 바 항목.
QStyle::CT_MenuItem7QMenuItem과 같은 메뉴 항목.
QStyle::CT_ProgressBar6QProgressBar 와 같은 진행률 표시줄.
QStyle::CT_PushButton0QPushButton 와 같은 푸시 버튼.
QStyle::CT_RadioButton2QRadioButton 와 같은 라디오 버튼.
QStyle::CT_SizeGrip16QSizeGrip 와 같은 크기 조정 손잡이.
QStyle::CT_Slider12QSlider 와 같은 슬라이더.
QStyle::CT_ScrollBar13QScrollBar 와 같은 스크롤 바.
QStyle::CT_SpinBox15스핀 박스( QSpinBox 와 같은).
QStyle::CT_Splitter5QSplitter 와 같은 스플리터.
QStyle::CT_TabBarTab11탭 바에 있는 탭, 예: QTabBar.
QStyle::CT_TabWidget17탭 위젯, 예: QTabWidget.
QStyle::CT_ToolButton3QToolButton 와 같은 툴 버튼.
QStyle::CT_GroupBox20QGroupBox 와 같은 그룹 박스.
QStyle::CT_ItemViewItem22항목 뷰 내의 항목.
QStyle::CT_CustomBase0xf0000000사용자 정의 콘텐츠 유형의 기본값. 사용자 정의 값은 이 값보다 커야 합니다.
QStyle::CT_MdiControls21최대화 된 MDI 하위 창의 메뉴 모음에 있는 최소화, 일반, 닫기 버튼.

sizeFromContents()도 참조하십시오 .

enum QStyle::ControlElement

이 열거형은 컨트롤 요소를 나타냅니다. 컨트롤 요소는 특정 동작을 수행하거나 사용자에게 정보를 표시하는 위젯의 일부입니다.

상수값설명
QStyle::CE_PushButton0QPushButton 는 CE_PushButtonBevel, CE_PushButtonLabel 및 PE_FrameFocusRect 을 그립니다.
QStyle::CE_PushButtonBevel1QPushButton 의 베벨 및 기본 상태 표시기입니다.
QStyle::CE_PushButtonLabel2QPushButton 의 레이블(텍스트 또는 픽스맵이 포함된 아이콘).
QStyle::CE_DockWidgetTitle30도크 창의 제목.
QStyle::CE_Splitter28스플리터 핸들; QSplitter 도 참조하십시오.
QStyle::CE_CheckBox3QCheckBox 는 PE_IndicatorCheckBox, CE_CheckBoxLabel 및 PE_FrameFocusRect 을 그립니다.
QStyle::CE_CheckBoxLabel4QCheckBox 의 레이블(텍스트 또는 픽스맵).
QStyle::CE_RadioButton5QRadioButton 는 PE_IndicatorRadioButton, CE_RadioButtonLabel 및 PE_FrameFocusRect 를 그립니다.
QStyle::CE_RadioButtonLabel6QRadioButton 의 레이블(텍스트 또는 픽스맵).
QStyle::CE_TabBarTab7QTabBar 내의 탭과 레이블.
QStyle::CE_TabBarTabShape8탭 바 내의 탭 모양.
QStyle::CE_TabBarTabLabel9탭 내부의 레이블.
QStyle::CE_ProgressBar10QProgressBar 는 CE_ProgressBarGroove, CE_ProgressBarContents 및 CE_ProgressBarLabel을 그립니다.
QStyle::CE_ProgressBarGroove11QProgressBar 에서 진행률 표시기가 그려지는 홈.
QStyle::CE_ProgressBarContents12QProgressBar 의 진행률 표시기.
QStyle::CE_ProgressBarLabel13QProgressBar 의 텍스트 레이블.
QStyle::CE_ToolButtonLabel22도구 버튼의 레이블.
QStyle::CE_MenuBarItem20QMenuBar 의 메뉴 항목.
QStyle::CE_MenuBarEmptyArea21QMenuBar 의 빈 영역.
QStyle::CE_MenuItem14QMenu 의 메뉴 항목.
QStyle::CE_MenuScroller15스타일이 스크롤을 지원하는 경우, QMenu 의 스크롤 영역.
QStyle::CE_MenuTearoff18QMenu 의 분리 가능한 섹션을 나타내는 메뉴 항목.
QStyle::CE_MenuEmptyArea19메뉴 내의 메뉴 항목이 없는 영역.
QStyle::CE_MenuHMargin17메뉴 좌우에 있는 수평 방향의 여백.
QStyle::CE_MenuVMargin16메뉴 상단/하단에 있는 수직 여백.
QStyle::CE_ToolBoxTab26QToolBox 내의 툴박스 탭 및 레이블.
QStyle::CE_SizeGrip27창 크기 조정 핸들; ' QSizeGrip' 항목도 참조하십시오.
QStyle::CE_Header23헤더.
QStyle::CE_HeaderSection24헤더 섹션.
QStyle::CE_HeaderLabel25헤더의 레이블.
QStyle::CE_ScrollBarAddLine31스크롤 막대의 줄 증가 표시기(즉, 아래로 스크롤). “ QScrollBar ”도 참조하십시오.
QStyle::CE_ScrollBarSubLine32스크롤 막대 줄 감소 표시기(즉, 위로 스크롤).
QStyle::CE_ScrollBarAddPage33스크롤바 페이지 증가 표시기(즉, 페이지 아래).
QStyle::CE_ScrollBarSubPage34스크롤 막대 페이지 감소 표시기(즉, 페이지 위로).
QStyle::CE_ScrollBarSlider35스크롤바 슬라이더.
QStyle::CE_ScrollBarFirst36스크롤 바 첫 번째 줄 표시기(즉, 시작).
QStyle::CE_ScrollBarLast37스크롤 막대 마지막 줄 표시기(즉, 끝).
QStyle::CE_RubberBand29예를 들어 아이콘 보기에서 사용되는 고무줄 효과.
QStyle::CE_FocusFrame38스타일로 제어되는 포커스 프레임.
QStyle::CE_ItemViewItem45항목 뷰 내의 항목.
QStyle::CE_CustomBase0xf0000000사용자 정의 컨트롤 요소의 기본값; 사용자 정의 값은 이 값보다 커야 합니다.
QStyle::CE_ComboBoxLabel39편집 불가능한 QComboBox 의 레이블.
QStyle::CE_ToolBar40QToolBar 와 유사한 툴바.
QStyle::CE_ToolBoxTabShape41도구 상자의 탭 모양.
QStyle::CE_ToolBoxTabLabel42툴박스의 탭 레이블.
QStyle::CE_HeaderEmptyArea43헤더 섹션이 없는 헤더 뷰의 영역.
QStyle::CE_ShapedFrame46QStyleOptionFrame 에 지정된 모양을 가진 프레임; QFrame 를 참조하십시오.

drawControl()도 참조하십시오 .

enum QStyle::PixelMetric

이 열거형은 사용할 수 있는 다양한 픽셀 측정값을 설명합니다. 픽셀 측정값이란 단일 픽셀 값으로 표현되는, 스타일에 따라 달라지는 크기를 말합니다.

상수값설명
QStyle::PM_ButtonMargin0푸시 버튼 레이블과 프레임 사이의 여백 크기입니다.
QStyle::PM_DockWidgetTitleBarButtonMargin73도크 위젯의 제목 표시줄 버튼 레이블과 프레임 사이의 여백 크기입니다.
QStyle::PM_ButtonDefaultIndicator1기본 버튼 표시기 프레임의 너비.
QStyle::PM_MenuButtonIndicator2위젯 높이에 비례하는 메뉴 버튼 표시기의 너비.
QStyle::PM_ButtonShiftHorizontal3버튼이 눌려 있을 때 버튼의 가로 방향 내용 이동량.
QStyle::PM_ButtonShiftVertical4버튼이 눌려 있을 때 버튼의 수직 방향 내용 이동량.
QStyle::PM_DefaultFrameWidth5기본 프레임 너비(일반적으로 2).
QStyle::PM_SpinBoxFrameWidth6스핀 박스의 프레임 너비이며, 기본값은 PM_DefaultFrameWidth입니다.
QStyle::PM_ComboBoxFrameWidth7콤보 박스의 프레임 너비, 기본값은 PM_DefaultFrameWidth입니다.
QStyle::PM_MdiSubWindowFrameWidth44MDI 창의 프레임 너비.
QStyle::PM_MdiSubWindowMinimizedWidth45최소화된 MDI 창의 너비.
QStyle::PM_LayoutLeftMargin75QLayout 의 기본 left margin.
QStyle::PM_LayoutTopMargin76QLayout 의 기본 top margin.
QStyle::PM_LayoutRightMargin77QLayout 의 기본 right margin.
QStyle::PM_LayoutBottomMargin78QLayout 의 기본 bottom margin.
QStyle::PM_LayoutHorizontalSpacing79QLayout 의 기본 horizontal spacing.
QStyle::PM_LayoutVerticalSpacing80QLayout 의 기본 vertical spacing.
QStyle::PM_MaximumDragDistance8드래그 시 마우스와 스크롤바 사이의 허용되는 최대 거리입니다. 지정된 거리를 초과하면 슬라이더가 원래 위치로 되돌아갑니다. 값을 -1로 설정하면 이 동작이 비활성화됩니다.
QStyle::PM_ScrollBarExtent9수직 스크롤 막대의 너비와 수평 스크롤 막대의 높이입니다.
QStyle::PM_ScrollBarSliderMin10수직 스크롤바 슬라이더의 최소 높이와 수평 스크롤바 슬라이더의 최소 너비입니다.
QStyle::PM_SliderThickness11슬라이더의 전체 두께.
QStyle::PM_SliderControlThickness12슬라이더 핸들의 두께.
QStyle::PM_SliderLength13슬라이더의 길이.
QStyle::PM_SliderTickmarkOffset14눈금과 슬라이더 사이의 오프셋.
QStyle::PM_SliderSpaceAvailable15슬라이더가 이동할 수 있는 사용 가능한 공간.
QStyle::PM_DockWidgetSeparatorExtent16가로 도크 창에서 구분선의 너비와 세로 도크 창에서 구분선의 높이.
QStyle::PM_DockWidgetHandleExtent17가로 도크 창에서 핸들의 너비와 세로 도크 창에서 핸들의 높이.
QStyle::PM_DockWidgetFrameWidth18도크 창의 프레임 너비.
QStyle::PM_DockWidgetTitleMargin70도크 창의 제목 여백.
QStyle::PM_MenuBarPanelWidth33메뉴 막대의 프레임 너비로, 기본값은 PM_DefaultFrameWidth입니다.
QStyle::PM_MenuBarItemSpacing34메뉴 막대 항목 간의 간격.
QStyle::PM_MenuBarHMargin36메뉴 바 항목 간 간격 및 메뉴 바 좌우 간격.
QStyle::PM_MenuBarVMargin35메뉴 막대 항목과 막대 상단/하단 사이의 간격.
QStyle::PM_ToolBarFrameWidth52툴바를 둘러싼 프레임의 너비.
QStyle::PM_ToolBarHandleExtent53수평 툴바에서 툴바 핸들의 너비와 수직 툴바에서 핸들의 높이.
QStyle::PM_ToolBarItemMargin55툴바 테두리와 항목 간의 간격.
QStyle::PM_ToolBarItemSpacing54툴바 항목 간의 간격.
QStyle::PM_ToolBarSeparatorExtent56수평 툴바에서 툴바 구분선의 너비와 수직 툴바에서 구분선의 높이.
QStyle::PM_ToolBarExtensionExtent57수평 툴바에서 툴바 확장 버튼의 너비와 수직 툴바에서 버튼의 높이.
QStyle::PM_TabBarTabOverlap19탭이 겹쳐야 하는 픽셀 수. (현재는 스타일에서만 사용되며, QTabBar 내에서는 사용되지 않음)
QStyle::PM_TabBarTabHSpace20탭 너비에 추가되는 여백.
QStyle::PM_TabBarTabVSpace21탭 높이에 추가되는 여백.
QStyle::PM_TabBarBaseHeight22탭 바와 탭 페이지 사이의 영역 높이.
QStyle::PM_TabBarBaseOverlap23탭 바가 탭 바 베이스와 겹치는 픽셀 수.
QStyle::PM_TabBarScrollButtonWidth51 
QStyle::PM_TabBarTabShiftHorizontal49탭이 선택되었을 때 발생하는 수평 픽셀 이동량.
QStyle::PM_TabBarTabShiftVertical50탭이 선택되었을 때 발생하는 수직 픽셀 이동량.
QStyle::PM_ProgressBarChunkWidth24진행률 표시줄의 청크 너비.
QStyle::PM_SplitterWidth25스플리터의 너비.
QStyle::PM_TitleBarHeight26제목 표시줄의 높이.
QStyle::PM_IndicatorWidth37체크박스 표시기의 너비.
QStyle::PM_IndicatorHeight38체크박스 표시기의 높이.
QStyle::PM_ExclusiveIndicatorWidth39라디오 버튼 표시기의 너비.
QStyle::PM_ExclusiveIndicatorHeight40라디오 버튼 표시기의 높이.
QStyle::PM_MenuPanelWidth30QMenu 의 테두리 너비(모든 면에 적용됨).
QStyle::PM_MenuHMargin28QMenu 의 추가 테두리(좌우에 적용됨).
QStyle::PM_MenuVMargin29QMenu 의 추가 테두리(하단 및 상단에 사용됨).
QStyle::PM_MenuScrollerHeight27QMenu 의 스크롤 영역 높이.
QStyle::PM_MenuTearoffHeight31QMenu 의 떼어내기 영역 높이.
QStyle::PM_MenuDesktopFrameWidth32데스크톱에서 메뉴의 프레임 너비.
QStyle::PM_HeaderMarkSize47헤더 내 정렬 표시기의 크기.
QStyle::PM_HeaderGripMargin48헤더 내 크기 조정 핸들의 크기.
QStyle::PM_HeaderMargin46정렬 표시기와 텍스트 사이의 여백 크기.
QStyle::PM_SpinBoxSliderHeight58선택 사항인 스핀 박스 슬라이더의 높이.
QStyle::PM_ToolBarIconSize59기본 도구 모음 아이콘 크기
QStyle::PM_SmallIconSize62기본 작은 아이콘 크기
QStyle::PM_LargeIconSize63기본 큰 아이콘 크기
QStyle::PM_FocusFrameHMargin65포커스 프레임이 위젯 밖으로 돌출되는 수평 여백.
QStyle::PM_FocusFrameVMargin64포커스 프레임이 위젯을 벗어나는 수직 여백.
QStyle::PM_IconViewIconSize61아이콘 뷰에서 아이콘의 기본 크기.
QStyle::PM_ListViewIconSize60목록 뷰에서 아이콘의 기본 크기.
QStyle::PM_ToolTipLabelFrameWidth66툴팁 레이블의 프레임 너비.
QStyle::PM_CheckBoxLabelSpacing67체크박스 표시기와 해당 레이블 사이의 간격.
QStyle::PM_RadioButtonLabelSpacing74라디오 버튼 표시기와 해당 레이블 사이의 간격.
QStyle::PM_TabBarIconSize68탭 바의 기본 아이콘 크기.
QStyle::PM_SizeGripSize69크기 조정 핸들의 크기.
QStyle::PM_MessageBoxIconSize71메시지 상자의 표준 아이콘 크기
QStyle::PM_ButtonIconSize72버튼 아이콘의 기본 크기
QStyle::PM_TextCursorWidth82라인 편집 또는 텍스트 편집 상자에서 커서의 너비
QStyle::PM_TabBar_ScrollButtonOverlap81탭 바에서 왼쪽 버튼과 오른쪽 버튼 사이의 간격.
QStyle::PM_TabCloseIndicatorWidth83탭 바 내 탭의 닫기 버튼 기본 너비.
QStyle::PM_TabCloseIndicatorHeight84탭 모음 내 탭의 닫기 버튼 기본 높이.
QStyle::PM_ScrollView_ScrollBarSpacing85SH_ScrollView_FrameOnlyAroundContents 가 설정된 상태에서 프레임과 스크롤바 사이의 거리.
QStyle::PM_ScrollView_ScrollBarOverlap86스크롤바와 스크롤 콘텐츠 간의 중첩
QStyle::PM_SubMenuOverlap87하위 메뉴와 그 상위 메뉴 간의 수평 중첩.
QStyle::PM_TreeViewIndentation (since Qt 5.4)88트리 뷰에서 항목의 들여쓰기.
QStyle::PM_HeaderDefaultSectionSizeHorizontal89수평 헤더 내 섹션의 기본 크기. 이 열거형 값은 Qt 5.5에서 도입되었습니다.
QStyle::PM_HeaderDefaultSectionSizeVertical90수직 헤더 내 섹션의 기본 크기. 이 열거형 값은 Qt 5.5에서 도입되었습니다.
QStyle::PM_TitleBarButtonIconSize (since Qt 5.8)91제목 표시줄에 있는 버튼 아이콘의 크기.
QStyle::PM_TitleBarButtonSize (since Qt 5.8)92제목 표시줄에 있는 버튼의 크기.
QStyle::PM_LineEditIconSize (since Qt 6.2)93라인 편집 상자 내 아이콘의 기본 크기.
QStyle::PM_LineEditIconMargin (since Qt 6.3)94라인 편집기 내 아이콘 주변의 여백.
QStyle::PM_CustomBase0xf0000000사용자 정의 픽셀 측정값의 기준값입니다. 사용자 정의 값은 이 값보다 커야 합니다.

pixelMetric()도 참조하십시오 .

enum QStyle::PrimitiveElement

이 열거형은 다양한 기본 요소를 설명합니다. 기본 요소란 체크박스 표시기나 버튼의 베벨과 같은 일반적인 GUI 요소를 말합니다.

상수값설명
QStyle::PE_PanelButtonCommand13QPushButton 와 같이, 작업을 시작하는 데 사용되는 버튼입니다.
QStyle::PE_FrameDefaultButton1대화 상자 등에서 볼 수 있는 기본 버튼 주위의 테두리입니다.
QStyle::PE_PanelButtonBevel14버튼 베벨이 적용된 일반 패널입니다.
QStyle::PE_PanelButtonTool15QToolButton 와 함께 사용되는 도구 버튼용 패널.
QStyle::PE_PanelLineEdit18QLineEdit 용 패널.
QStyle::PE_IndicatorButtonDropDown24드롭다운 버튼(예: 메뉴를 표시하는 도구 버튼)을 나타내는 표시기.
QStyle::PE_FrameFocusRect3일반 포커스 표시기.
QStyle::PE_IndicatorArrowUp22일반 위쪽 화살표.
QStyle::PE_IndicatorArrowDown19일반적인 아래쪽 화살표.
QStyle::PE_IndicatorArrowRight21일반 오른쪽 화살표.
QStyle::PE_IndicatorArrowLeft20일반 왼쪽 화살표.
QStyle::PE_IndicatorSpinUp35스핀 위젯(예: QSpinBox)용 위쪽 기호.
QStyle::PE_IndicatorSpinDown32스핀 위젯용 아래쪽 기호.
QStyle::PE_IndicatorSpinPlus34스핀 위젯의 증가 기호.
QStyle::PE_IndicatorSpinMinus33스핀 위젯의 감소 기호.
QStyle::PE_IndicatorItemViewItemCheck25뷰 항목의 켜기/끄기 표시기.
QStyle::PE_IndicatorCheckBox26켜기/끄기 표시기(예: QCheckBox).
QStyle::PE_IndicatorRadioButton31전용 켜기/끄기 표시기(예: QRadioButton).
QStyle::PE_IndicatorDockWidgetResizeHandle27도크 창의 크기 조정 핸들.
QStyle::PE_Frame0일반 프레임
QStyle::PE_FrameMenu6팝업 창/메뉴용 프레임; QMenu 도 참조하십시오.
QStyle::PE_PanelMenuBar16메뉴 모음을 위한 패널.
QStyle::PE_PanelScrollAreaCorner40스크롤 영역의 오른쪽 하단(또는 왼쪽 하단) 모서리에 있는 패널.
QStyle::PE_FrameDockWidget2도크 창 및 툴바용 패널 프레임.
QStyle::PE_FrameTabWidget8탭 위젯용 프레임.
QStyle::PE_FrameLineEdit5라인 편집을 위한 패널 프레임.
QStyle::PE_FrameGroupBox4그룹 박스를 둘러싼 패널 프레임.
QStyle::PE_FrameButtonBevel10버튼 베벨을 위한 패널 프레임.
QStyle::PE_FrameButtonTool11도구 버튼용 패널 프레임.
QStyle::PE_IndicatorHeaderArrow28목록이나 테이블 헤더에서 정렬 상태를 나타내는 데 사용되는 화살표.
QStyle::PE_FrameStatusBarItem7상태 표시줄 항목용 프레임; QStatusBar 도 참조하십시오.
QStyle::PE_FrameWindow9MDI 창 또는 도킹 창을 둘러싼 프레임.
QStyle::PE_IndicatorMenuCheckMark29메뉴에서 사용되는 체크 표시.
QStyle::PE_IndicatorProgressChunk30진행률 표시줄의 구간; QProgressBar 도 참조하십시오.
QStyle::PE_IndicatorBranch23트리 뷰에서 트리의 분기를 나타내는 데 사용되는 선.
QStyle::PE_IndicatorToolBarHandle36도구 모음의 핸들.
QStyle::PE_IndicatorToolBarSeparator37툴바의 구분선.
QStyle::PE_PanelToolBar17툴바용 패널.
QStyle::PE_PanelTipLabel38팁 레이블용 패널.
QStyle::PE_FrameTabBarBase12탭 바를 위해 그려지는 프레임으로, 일반적으로 탭 위젯의 일부가 아닌 탭 바에 대해 그려집니다.
QStyle::PE_IndicatorTabTear39사용 중단됨. 대신 PE_IndicatorTabTearLeft를 사용하십시오.
QStyle::PE_IndicatorTabTearLeftPE_IndicatorTabTear탭이 많을 때, 보이는 탭 바의 왼쪽에서 탭이 부분적으로 스크롤되어 벗어난 것을 나타내는 표시기.
QStyle::PE_IndicatorTabTearRight49탭이 많을 때, 표시된 탭 바의 오른쪽에서 탭이 부분적으로 스크롤되어 나간 것을 나타내는 표시기입니다.
QStyle::PE_IndicatorColumnViewArrow42QColumnView 에 포함된 화살표.
QStyle::PE_Widget41일반적인 QWidget 입니다.
QStyle::PE_CustomBase0xf000000사용자 정의 기본 요소의 기본값입니다. 이 값보다 큰 모든 값은 사용자 정의 용도로 예약되어 있습니다. 사용자 정의 값은 이 값보다 커야 합니다.
QStyle::PE_IndicatorItemViewItemDrop43항목 뷰에서 드래그 앤 드롭 작업이 진행될 때, 항목 뷰 내의 항목이 어디에 드롭될지를 표시하기 위해 그려지는 표시기.
QStyle::PE_PanelItemViewItem44항목 뷰 내 항목의 배경.
QStyle::PE_PanelItemViewRow45항목 뷰에서 행의 배경.
QStyle::PE_PanelStatusBar46상태 표시줄용 패널.
QStyle::PE_IndicatorTabClose47탭 바의 닫기 버튼.
QStyle::PE_PanelMenu48메뉴용 패널.

drawPrimitive()도 참조하십시오 .

enum QStyle::RequestSoftwareInputPanel

이 열거형은 입력 기능이 있는 위젯이 어떤 상황에서 소프트웨어 입력 패널을 요청하는지를 설명합니다.

상수값설명
QStyle::RSIP_OnMouseClickAndAlreadyFocused0사용자가 위젯을 클릭하면 입력 패널을 요청하지만, 위젯에 이미 포커스가 맞춰져 있는 경우에만 해당됩니다.
QStyle::RSIP_OnMouseClick1사용자가 위젯을 클릭하면 입력 패널을 요청합니다.

QInputMethod도 참조하십시오 .

enum QStyle::StandardPixmap

이 열거형은 사용 가능한 표준 픽스맵을 설명합니다. 표준 픽스맵이란 기존의 GUI 스타일이나 지침을 따를 수 있는 픽스맵을 말합니다.

상수값설명
QStyle::SP_TitleBarMinButton1제목 표시줄의 최소화 버튼(예: QMdiSubWindow).
QStyle::SP_TitleBarMenuButton0제목 표시줄의 메뉴 버튼.
QStyle::SP_TitleBarMaxButton2제목 표시줄의 최대화 버튼.
QStyle::SP_TitleBarCloseButton3제목 표시줄의 닫기 버튼.
QStyle::SP_TitleBarNormalButton4제목 표시줄의 일반(복원) 버튼.
QStyle::SP_TitleBarShadeButton5제목 표시줄의 음영 버튼.
QStyle::SP_TitleBarUnshadeButton6제목 표시줄의 반투명 해제 버튼.
QStyle::SP_TitleBarContextHelpButton7제목 표시줄의 컨텍스트 도움말 버튼.
QStyle::SP_MessageBoxInformation9"정보" 아이콘.
QStyle::SP_MessageBoxWarning10"경고" 아이콘.
QStyle::SP_MessageBoxCritical11"중요" 아이콘.
QStyle::SP_MessageBoxQuestion12"질문" 아이콘.
QStyle::SP_DesktopIcon13"바탕화면" 아이콘.
QStyle::SP_TrashIcon14"휴지통" 아이콘.
QStyle::SP_ComputerIcon15"내 컴퓨터" 아이콘.
QStyle::SP_DriveFDIcon16플로피 디스크 아이콘.
QStyle::SP_DriveHDIcon17하드 드라이브 아이콘.
QStyle::SP_DriveCDIcon18CD 아이콘.
QStyle::SP_DriveDVDIcon19DVD 아이콘.
QStyle::SP_DriveNetIcon20네트워크 아이콘.
QStyle::SP_DirHomeIcon56홈 디렉터리 아이콘.
QStyle::SP_DirOpenIcon21열린 디렉터리 아이콘.
QStyle::SP_DirClosedIcon22닫힌 디렉터리 아이콘.
QStyle::SP_DirIcon38디렉터리 아이콘.
QStyle::SP_DirLinkIcon23디렉터리 링크 아이콘.
QStyle::SP_DirLinkOpenIcon24열린 디렉터리 링크 아이콘.
QStyle::SP_FileIcon25파일 아이콘.
QStyle::SP_FileLinkIcon26파일 아이콘으로 연결되는 링크.
QStyle::SP_FileDialogStart29파일 대화 상자의 "시작" 아이콘.
QStyle::SP_FileDialogEnd30파일 대화 상자의 "끝" 아이콘.
QStyle::SP_FileDialogToParent31파일 대화 상자의 "상위 디렉터리" 아이콘.
QStyle::SP_FileDialogNewFolder32파일 대화 상자의 "새 폴더 만들기" 아이콘.
QStyle::SP_FileDialogDetailedView33파일 대화 상자의 상세 보기 아이콘.
QStyle::SP_FileDialogInfoView34파일 대화 상자의 파일 정보 아이콘.
QStyle::SP_FileDialogContentsView35파일 대화 상자의 내용 보기 아이콘.
QStyle::SP_FileDialogListView36파일 대화 상자의 목록 보기 아이콘.
QStyle::SP_FileDialogBack37파일 대화 상자의 뒤로 가기 화살표.
QStyle::SP_DockWidgetCloseButton8도크 창의 닫기 버튼 ( QDockWidget 도 참조).
QStyle::SP_ToolBarHorizontalExtensionButton27가로 도구 모음의 확장 버튼.
QStyle::SP_ToolBarVerticalExtensionButton28수직 툴바용 확장 버튼.
QStyle::SP_DialogOkButton39QDialogButtonBox 의 표준 ‘확인’ 버튼 아이콘.
QStyle::SP_DialogCancelButton40QDialogButtonBox 의 표준 ‘취소’ 버튼 아이콘.
QStyle::SP_DialogHelpButton41QDialogButtonBox 의 표준 도움말 버튼 아이콘.
QStyle::SP_DialogOpenButton42QDialogButtonBox 의 표준 열기 버튼 아이콘.
QStyle::SP_DialogSaveButton43QDialogButtonBox 의 표준 저장 버튼 아이콘.
QStyle::SP_DialogCloseButton44QDialogButtonBox 의 표준 닫기 버튼 아이콘.
QStyle::SP_DialogApplyButton45QDialogButtonBox 의 표준 '적용' 버튼 아이콘.
QStyle::SP_DialogResetButton46QDialogButtonBox 의 표준 '재설정' 버튼 아이콘.
QStyle::SP_DialogDiscardButton47QDialogButtonBox 의 표준 '취소' 버튼 아이콘.
QStyle::SP_DialogYesButton48QDialogButtonBox 의 표준 ‘예’ 버튼 아이콘.
QStyle::SP_DialogNoButton49QDialogButtonBox 의 표준 '아니요' 버튼 아이콘.
QStyle::SP_ArrowUp50위쪽을 가리키는 화살표 아이콘.
QStyle::SP_ArrowDown51아래를 가리키는 화살표 아이콘.
QStyle::SP_ArrowLeft52왼쪽을 가리키는 화살표 아이콘.
QStyle::SP_ArrowRight53오른쪽을 가리키는 화살표 아이콘.
QStyle::SP_ArrowBack54현재 레이아웃 방향이 ' Qt::LeftToRight'인 경우 SP_ArrowLeft와 동일하고, 그렇지 않은 경우 SP_ArrowRight와 동일합니다.
QStyle::SP_ArrowForward55현재 레이아웃 방향이 Qt::LeftToRight 인 경우 SP_ArrowRight와 동일하며, 그렇지 않은 경우 SP_ArrowLeft와 동일합니다.
QStyle::SP_CommandLink57Vista 스타일의 명령 링크 글리프를 나타내는 데 사용되는 아이콘입니다.
QStyle::SP_VistaShield58Windows Vista에서 UAC 프롬프트를 나타내는 데 사용되는 아이콘입니다. 다른 모든 플랫폼에서는 null 픽스맵 또는 아이콘을 반환합니다.
QStyle::SP_BrowserReload59현재 페이지를 다시 불러와야 함을 나타내는 아이콘입니다.
QStyle::SP_BrowserStop60페이지 로딩을 중지해야 함을 나타내는 아이콘입니다.
QStyle::SP_MediaPlay61미디어 재생을 시작해야 함을 나타내는 아이콘입니다.
QStyle::SP_MediaStop62미디어 재생을 중지해야 함을 나타내는 아이콘.
QStyle::SP_MediaPause63미디어 재생을 일시 정지해야 함을 나타내는 아이콘.
QStyle::SP_MediaSkipForward64미디어를 앞으로 건너뛰어야 함을 나타내는 아이콘.
QStyle::SP_MediaSkipBackward65미디어를 뒤로 건너뛰어야 함을 나타내는 아이콘.
QStyle::SP_MediaSeekForward66미디어를 앞으로 탐색해야 함을 나타내는 아이콘.
QStyle::SP_MediaSeekBackward67미디어를 뒤로 탐색해야 함을 나타내는 아이콘.
QStyle::SP_MediaVolume68볼륨 조절을 나타내는 아이콘.
QStyle::SP_MediaVolumeMuted69음소거된 볼륨 조절을 나타내는 아이콘.
QStyle::SP_LineEditClearButton (since Qt 5.2)70QLineEdit 의 표준 지우기 버튼 아이콘.
QStyle::SP_DialogYesToAllButton (since Qt 5.14)71QDialogButtonBox 에서 표준 YesToAll 버튼을 나타내는 아이콘.
QStyle::SP_DialogNoToAllButton (since Qt 5.14)72QDialogButtonBox 에서 표준 'NoToAll' 버튼 아이콘.
QStyle::SP_DialogSaveAllButton (since Qt 5.14)73QDialogButtonBox 의 표준 'SaveAll' 버튼 아이콘.
QStyle::SP_DialogAbortButton (since Qt 5.14)74QDialogButtonBox 의 표준 '중단' 버튼 아이콘.
QStyle::SP_DialogRetryButton (since Qt 5.14)75QDialogButtonBox 의 표준 Retry 버튼용 아이콘.
QStyle::SP_DialogIgnoreButton (since Qt 5.14)76QDialogButtonBox 의 표준 '무시(Ignore)' 버튼 아이콘.
QStyle::SP_RestoreDefaultsButton (since Qt 5.14)77QDialogButtonBox 의 표준 RestoreDefaults 버튼 아이콘.
QStyle::SP_TabCloseButton (since Qt 6.3)78QTabBar 의 탭에 있는 닫기 버튼용 아이콘.
QStyle::SP_TabScrollLeftButton (since Qt 6.12)79QTabBar 의 왼쪽 스크롤 버튼 아이콘.
QStyle::SP_TabScrollRightButton (since Qt 6.12)80QTabBar 의 오른쪽 스크롤 버튼용 아이콘.
QStyle::SP_TabScrollUpButton (since Qt 6.12)81QTabBar 의 위로 스크롤 버튼 아이콘.
QStyle::SP_TabScrollDownButton (since Qt 6.12)82QTabBar 의 스크롤 하단 버튼 아이콘.
QStyle::SP_CustomBase0xf0000000사용자 정의 표준 픽스맵의 기본값입니다. 사용자 정의 값은 이 값보다 커야 합니다.

standardIcon()도 참조하십시오 .

enum QStyle::StateFlag
flags QStyle::State

이 열거형은 프리미티브 요소를 그릴 때 사용되는 플래그를 설명합니다.

모든 프리미티브가 이러한 플래그를 모두 사용하는 것은 아니며, 항목에 따라 플래그의 의미가 다를 수 있다는 점에 유의하십시오.

상수상수설명
QStyle::State_None0x00000000위젯에 상태가 없음을 나타냅니다.
QStyle::State_Active0x00010000위젯이 활성 상태임을 나타냅니다.
QStyle::State_AutoRaise0x00001000도구 버튼에 자동 상승 외관을 적용해야 하는지 여부를 나타내는 데 사용됩니다.
QStyle::State_Children0x00080000항목 뷰 분기에 자식 항목이 있는지 여부를 나타내는 데 사용됩니다.
QStyle::State_DownArrow0x00000040위젯에 아래쪽 화살표가 표시되어야 하는지 여부를 나타내는 데 사용됩니다.
QStyle::State_Editing0x00400000사용 중단됨. 에디터가 itemview 셀 위에 그려지므로 더 이상 사용되지 않습니다.
QStyle::State_Enabled0x00000001위젯이 활성화되어 있는지 여부를 나타내는 데 사용됩니다.
QStyle::State_HasFocus0x00000100위젯이 포커스를 가지고 있는지 여부를 나타내는 데 사용됩니다.
QStyle::State_Horizontal0x00000080위젯이 가로로 배치되어 있는지 여부를 나타내는 데 사용됩니다(예: 툴바).
QStyle::State_KeyboardFocusChange0x00800000키보드(예: Tab, Backtab 또는 단축키)를 사용하여 포커스가 변경되었는지 여부를 나타내는 데 사용됩니다.
QStyle::State_MouseOver0x00002000위젯이 마우스 커서 아래에 있는지 여부를 나타내는 데 사용됩니다.
QStyle::State_NoChange0x000000103가지 상태를 가질 수 있는 체크박스를 나타내는 데 사용됩니다.
QStyle::State_Off0x00000008위젯이 선택되지 않았는지 여부를 나타내는 데 사용됩니다.
QStyle::State_On0x00000020위젯이 선택되어 있는지 여부를 나타내는 데 사용됩니다.
QStyle::State_Raised0x00000002버튼이 돌출되어 있는지 여부를 나타내는 데 사용됩니다.
QStyle::State_ReadOnly0x02000000위젯이 읽기 전용인지 여부를 나타내는 데 사용됩니다.
QStyle::State_Selected0x00008000위젯이 선택되었는지 여부를 나타내는 데 사용됩니다.
QStyle::State_Item0x00100000항목 뷰에서 가로 분기를 그릴지 여부를 나타내는 데 사용됩니다.
QStyle::State_Open0x00040000항목 뷰에서 트리 브랜치가 펼쳐져 있는지 여부를 나타내는 데 사용됩니다.
QStyle::State_Sibling0x00200000항목 뷰에서 수직선이 그려져야 하는지(동급 항목의 경우)를 나타내는 데 사용됩니다.
QStyle::State_Sunken0x00000004위젯이 움푹 들어간 상태인지, 눌린 상태인지 나타내는 데 사용됩니다.
QStyle::State_UpArrow0x00004000위젯에 위쪽 화살표가 표시되어야 하는지 여부를 나타내는 데 사용됩니다.
QStyle::State_Mini0x08000000미니 스타일의 Mac 위젯 또는 버튼을 나타내는 데 사용됩니다.
QStyle::State_Small0x04000000작은 스타일의 Mac 위젯이나 버튼을 나타내는 데 사용됩니다.

State 유형은 QFlags<StateFlag>에 대한 typedef입니다. StateFlag 값들의 OR 조합을 저장합니다.

drawPrimitive()도 참조하십시오 .

enum QStyle::StyleHint

이 열거형은 사용 가능한 스타일 힌트를 설명합니다. 스타일 힌트는 전반적인 외관 및/또는 느낌에 대한 힌트입니다.

상수값설명
QStyle::SH_EtchDisabledText0비활성화된 텍스트는 Windows에서와 마찬가지로 “에칭 처리”됩니다.
QStyle::SH_DitherDisabledText1비활성화된 텍스트는 Motif에서와 마찬가지로 디더링 처리됩니다.
QStyle::SH_ScrollBar_ContextMenu62스크롤 막대에 컨텍스트 메뉴가 있는지 여부.
QStyle::SH_ScrollBar_MiddleClickAbsolutePosition2부울 값입니다. true인 경우, 스크롤 바를 가운데 버튼으로 클릭하면 슬라이더가 해당 위치로 이동합니다. false인 경우, 가운데 버튼 클릭은 무시됩니다.
QStyle::SH_ScrollBar_LeftClickAbsolutePosition39부울 값입니다. true인 경우, 스크롤 막대를 왼쪽 클릭하면 슬라이더가 해당 위치로 이동합니다. false인 경우, 왼쪽 클릭은 각 컨트롤에 적합한 방식으로 동작합니다.
QStyle::SH_ScrollBar_ScrollWhenPointerLeavesControl3부울 값입니다. true인 경우, 스크롤 바 SubControl 를 클릭한 상태에서 마우스 버튼을 누른 채 포인터를 SubControl 밖으로 이동해도 스크롤 바가 계속 스크롤됩니다. false인 경우, 포인터가 SubControl 을 벗어나면 스크롤 바의 스크롤이 중지됩니다.
QStyle::SH_ScrollBar_RollBetweenButtons63부울 값입니다. true인 경우, 스크롤 막대 버튼(SC_ScrollBarAddLine 또는 SC_ScrollBarSubLine)을 클릭한 상태에서 반대쪽 버튼 쪽으로 드래그(롤링)하면 새로운 버튼이 눌리고 기존 버튼은 해제됩니다. false인 경우, 원래 버튼이 해제되고 아무 일도 일어나지 않습니다(푸시 버튼과 유사).
QStyle::SH_TabBar_Alignment5QTabWidget 내 탭의 정렬 방식입니다. 가능한 값은 Qt::AlignLeft, Qt::AlignCenter 및 Qt::AlignRight 입니다.
QStyle::SH_Header_ArrowAlignment6정렬 표시기의 위치는 목록이나 테이블 헤더에 표시될 수 있습니다. 가능한 값은 Qt::Alignment 값입니다(즉, Qt::AlignmentFlag 플래그의 OR 조합).
QStyle::SH_Slider_SnapToValue7슬라이더는 Windows에서와 마찬가지로 이동 중에 값에 스냅됩니다.
QStyle::SH_Slider_SloppyKeyEvents8키 입력은 다소 대략적인 방식으로 처리됩니다. 즉, 세로 슬라이더에서 왼쪽 키를 누르면 한 줄이 차감됩니다.
QStyle::SH_ProgressDialog_CenterCancelButton9진행률 대화 상자의 중앙 정렬 버튼, 그렇지 않으면 오른쪽 정렬됩니다.
QStyle::SH_ProgressDialog_TextLabelAlignment10진행 상황 대화 상자의 텍스트 레이블 정렬 방식: Windows에서는 Qt::AlignCenter, 그 외의 경우에는 Qt::AlignVCenter 입니다.
QStyle::SH_PrintDialog_RightAlignButtons11Windows에서와 마찬가지로 인쇄 대화 상자의 버튼을 오른쪽 정렬합니다.
QStyle::SH_MainWindow_SpaceBelowMenuBar12Windows에서와 같이 메뉴 바와 도크 영역 사이에 1~2픽셀의 간격을 두십시오.
QStyle::SH_FontDialog_SelectAssociatedText13Windows에서와 마찬가지로, 라인 편집 상자의 텍스트를 선택하거나, 리스트 박스에서 항목을 선택하거나, 라인 편집 상자가 포커스를 받을 때 선택됩니다.
QStyle::SH_Menu_KeyboardSearch66입력 시 메뉴에서 관련 항목을 검색하고, 그렇지 않은 경우에는 니모닉만 고려합니다.
QStyle::SH_Menu_AllowActiveAndDisabled14비활성화된 메뉴 항목을 활성화할 수 있도록 합니다.
QStyle::SH_Menu_SpaceActivatesItem15Motif에서와 같이 스페이스 바를 누르면 항목이 활성화됩니다.
QStyle::SH_Menu_SubMenuPopupDelay16서브 메뉴가 열리기 전까지 대기할 시간(밀리초 단위, Windows에서는 256, Motif에서는 96).
QStyle::SH_Menu_Scrollable30팝업 메뉴가 스크롤을 지원해야 하는지 여부.
QStyle::SH_Menu_SloppySubMenus33팝업 메뉴가 사용자가 메뉴의 다른 항목을 가로질러 마우스 커서를 하위 메뉴로 이동하는 것을 지원해야 하는지 여부. 이는 대부분의 최신 데스크톱 플랫폼에서 지원됩니다.
QStyle::SH_Menu_SubMenuUniDirection105Qt 5.5부터. 커서가 서브 메뉴 방향으로 이동해야 하는지(macOS와 같이), 아니면 슬로피 타임아웃이 만료되기 전에 서브 메뉴에 도달하기만 하면 어떤 방향으로든 커서를 이동할 수 있는지 여부를 지정합니다.
QStyle::SH_Menu_SubMenuUniDirectionFailCount106Qt 5.5부터. SH_Menu_SubMenuUniDirection이 정의된 경우, 이 열거형은 슬로피 서브메뉴가 버려지기 전까지 허용되는 마우스 이동 실패 횟수를 정의합니다. 이를 통해 단방향 알고리즘의 “엄격도”를 제어할 수 있습니다.
QStyle::SH_Menu_SubMenuSloppySelectOtherActions107Qt 5.5부터. 마우스가 슬로피 서브메뉴 쪽으로 이동할 때 다른 작업 항목을 선택해야 하는지 여부를 결정합니다.
QStyle::SH_Menu_SubMenuSloppyCloseTimeout108Qt 5.5부터. 슬로피 서브메뉴를 닫는 데 사용되는 타임아웃입니다.
QStyle::SH_Menu_SubMenuResetWhenReenteringParent109Qt 5.5부터. 자식 서브메뉴에서 상위 메뉴로 진입할 때, 슬로피 상태를 재설정하여 자식 서브메뉴를 사실상 닫고 현재 서브메뉴를 활성화해야 하는지 여부.
QStyle::SH_Menu_SubMenuDontStartSloppyOnLeave110Qt 5.5부터. 마우스가 서브 메뉴를 벗어나면 슬로피 타이머를 시작하지 않습니다.
QStyle::SH_ScrollView_FrameOnlyAroundContents17스크롤 뷰가 콘텐츠 주변에만 프레임을 그릴지(Motif와 같이), 아니면 콘텐츠, 스크롤 바 및 모서리 위젯 주변에 프레임을 그릴지(Windows와 같이) 여부.
QStyle::SH_MenuBar_AltKeyNavigation18메뉴 바 항목은 Alt 키를 누른 후 화살표 키를 사용하여 원하는 항목을 선택할 수 있습니다.
QStyle::SH_ComboBox_ListMouseTracking_CurrentSH_ComboBox_ListMouseTracking콤보박스 드롭다운 목록에서 마우스 트래킹이 적용되면 커서가 위치한 항목이 현재 항목으로 설정됩니다(QStyle::State_Selected).
QStyle::SH_ComboBox_ListMouseTracking19사용 중단됨. 대신 SH_ComboBox_ListMouseTracking_Current를 사용하십시오.
QStyle::SH_ComboBox_ListMouseTracking_Active120콤보박스 드롭다운 목록에서 마우스 트래킹 시, 커서가 위치한 항목이 현재 항목으로 설정되지 않고 활성 항목으로만 설정됩니다(QStyle::State_MouseOver).
QStyle::SH_Menu_MouseTracking20팝업 메뉴에서 마우스 추적.
QStyle::SH_MenuBar_MouseTracking21메뉴 모음에서 마우스 트래킹.
QStyle::SH_Menu_FillScreenWithScroll45스크롤되는 팝업이 스크롤될 때 화면을 가득 채워야 하는지 여부.
QStyle::SH_Menu_SelectionWrap73팝업에서 선택 항목이 줄 바꿈되도록 허용할지 여부, 즉 선택 시 다음 항목이 첫 번째 항목이 되어야 하는지 여부.
QStyle::SH_ItemView_ChangeHighlightOnFocus22포커스를 잃을 때 선택된 항목을 회색으로 표시할지 여부.
QStyle::SH_Widget_ShareActivation23플로팅 모달리스 대화 상자에서 공유 활성화 기능을 켤지 여부.
QStyle::SH_TabBar_SelectMouseType4어떤 유형의 마우스 이벤트가 탭을 선택하도록 할지.
QStyle::SH_ListViewExpand_SelectMouseType40어떤 유형의 마우스 이벤트가 발생했을 때 목록 보기를 확장하도록 선택해야 하는지.
QStyle::SH_TabBar_PreferNoArrows38탭 바에서 스크롤 화살표가 표시되지 않도록 크기를 제안해야 하는지 여부.
QStyle::SH_ComboBox_Popup25콤보박스 드롭다운 메뉴로 팝업을 허용합니다.
QStyle::SH_Workspace_FillSpaceOnMaximize24작업 공간은 클라이언트 영역을 최대화해야 합니다.
QStyle::SH_TitleBar_NoBorder26제목 표시줄에는 테두리가 없습니다.
QStyle::SH_Slider_StopMouseOverSlider27슬라이더가 마우스 위치에 도달하면 자동 반복을 중지합니다.
QStyle::SH_BlinkCursorWhenTextSelected28텍스트가 선택되었을 때 커서가 깜박여야 하는지 여부.
QStyle::SH_RichText_FullWidthSelection29리치 텍스트 선택 영역을 문서의 전체 너비로 확장할지 여부.
QStyle::SH_GroupBox_TextLabelVerticalAlignment31그룹 박스의 텍스트 레이블을 수직으로 정렬하는 방법.
QStyle::SH_GroupBox_TextLabelColor32그룹 박스의 텍스트 레이블을 그리는 방법.
QStyle::SH_DialogButtons_DefaultButton36대화 상자의 버튼 위젯에서 어떤 버튼이 기본 상태를 갖는지.
QStyle::SH_ToolBox_SelectedPageTitleBold37QToolBox 에서 선택된 페이지 제목의 굵기.
QStyle::SH_LineEdit_PasswordCharacter35비밀번호에 사용될 유니코드 문자.
QStyle::SH_LineEdit_PasswordMaskDelay103표시된 문자가 암호 문자로 가려지기까지의 지연 시간을 밀리초 단위로 지정합니다. 이 열거형 값은 Qt 5.4에서 추가되었습니다.
QStyle::SH_Table_GridLineColor34테이블 그리드의 RGBA 값.
QStyle::SH_UnderlineShortcut41단축키에 밑줄을 그을지 여부.
QStyle::SH_SpinBox_AnimateButton42스핀 박스에서 위쪽 또는 아래쪽 버튼을 누를 때 클릭 효과를 애니메이션으로 표시합니다.
QStyle::SH_SpinBox_KeyPressAutoRepeatRate43스핀 박스 키 누름에 대한 자동 반복 간격.
QStyle::SH_SpinBox_ClickAutoRepeatRate44스핀 박스 마우스 클릭에 대한 자동 반복 간격.
QStyle::SH_SpinBox_ClickAutoRepeatThreshold83스핀 박스 마우스 클릭에 대한 자동 반복 임계값.
QStyle::SH_SpinBox_SelectOnStep (since Qt 6.3)119버튼이나 위/아래 키를 사용하여 값을 변경할 때 텍스트가 자동으로 선택되는지 여부.
QStyle::SH_ToolTipLabel_Opacity46팁 레이블의 불투명도를 나타내는 정수입니다. 0은 완전히 투명하고, 255는 완전히 불투명합니다.
QStyle::SH_DrawMenuBarSeparator47메뉴 바에 구분선을 표시할지 여부를 나타냅니다.
QStyle::SH_TitleBar_ModifyNotification48수정된 창의 제목 표시줄에 '*'를 표시할지 여부를 나타냅니다.
QStyle::SH_Button_FocusPolicy49버튼에 대한 기본 포커스 정책입니다.
QStyle::SH_CustomBase0xf0000000사용자 지정 스타일 힌트의 기본값입니다. 사용자 지정 값은 이 값보다 커야 합니다.
QStyle::SH_MessageBox_UseBorderForButtonSpacing50메시지 상자에서 버튼 간격을 조정할 때 버튼 테두리(버튼 높이의 절반으로 계산됨)를 사용할지 여부를 나타내는 부울 값입니다.
QStyle::SH_MessageBox_CenterButtons72메시지 상자의 버튼을 중앙에 정렬할지 여부를 나타내는 부울 값입니다(QDialogButtonBox::setCentered() 참조).
QStyle::SH_MessageBox_TextInteractionFlags70메시지 상자의 텍스트에 대해 사용자 상호작용(예: 선택)을 허용할지 여부를 나타내는 부울 값입니다.
QStyle::SH_TitleBar_AutoRaise51마우스가 제목 표시줄의 컨트롤 위로 이동했을 때 해당 컨트롤이 업데이트되어야 하는지 여부를 나타내는 부울 값입니다.
QStyle::SH_ToolButton_PopupDelay52도구 버튼에 연결된 메뉴의 팝업 지연 시간을 밀리초 단위로 나타내는 정수입니다.
QStyle::SH_FocusFrame_Mask53포커스 프레임의 마스크입니다.
QStyle::SH_RubberBand_Mask54러버 밴드의 마스크입니다.
QStyle::SH_WindowFrame_Mask55창 프레임의 마스크.
QStyle::SH_SpinControls_DisableOnBounds56스핀 컨트롤이 스핀 범위 경계에 도달했을 때 비활성화된 상태로 표시될지 여부를 결정합니다.
QStyle::SH_Dial_BackgroundRole57다이얼 위젯에 대한 스타일의 선호 배경 역할( QPalette::ColorRole)을 정의합니다.
QStyle::SH_ComboBox_LayoutDirection58콤보 박스의 레이아웃 방향입니다. 기본적으로 QStyleOption::direction 변수에 지정된 방향과 동일해야 합니다.
QStyle::SH_ItemView_EllipsisLocation59뷰 항목에 들어가지 않을 정도로 긴 항목 텍스트에 대해 생략 기호를 추가할 위치입니다.
QStyle::SH_ItemView_ShowDecorationSelected60항목 뷰의 항목이 선택되면 브랜치나 기타 장식 요소도 강조 표시합니다.
QStyle::SH_ItemView_ActivateItemOnSingleClick61사용자가 항목 뷰의 항목을 한 번 클릭할 때 ‘activated’ 신호를 발생시킵니다. 그렇지 않은 경우, 사용자가 항목을 두 번 클릭할 때 신호가 발생합니다.
QStyle::SH_Slider_AbsoluteSetButtons64슬라이더가 클릭된 위치의 값으로 설정되도록 하는 마우스 버튼입니다.
QStyle::SH_Slider_PageSetButtons65슬라이더의 값을 한 단계씩 이동시키는 마우스 버튼입니다.
QStyle::SH_TabBar_ElideMode67탭 바의 기본 생략 스타일입니다.
QStyle::SH_DialogButtonLayout68QDialogButtonBox 에서 버튼의 배열 방식을 제어하며, QDialogButtonBox::ButtonLayout 열거형을 반환합니다.
QStyle::SH_WizardStyle78QWizard 의 모양과 느낌을 제어합니다. QWizard::WizardStyle 열거형을 반환합니다.
QStyle::SH_FormLayoutWrapPolicy85QFormLayout 에서 행이 줄바꿈되는 방식에 대한 기본값을 제공합니다. QFormLayout::RowWrapPolicy 열거형을 반환합니다.
QStyle::SH_FormLayoutFieldGrowthPolicy88QFormLayout 에서 필드가 확장되는 방식에 대한 기본값을 제공합니다. QFormLayout::FieldGrowthPolicy 열거형을 반환합니다.
QStyle::SH_FormLayoutFormAlignment89QFormLayout 가 사용 가능한 공간 내에서 내용을 정렬하는 방식에 대한 기본값을 제공합니다. Qt::Alignment 열거형을 반환합니다.
QStyle::SH_FormLayoutLabelAlignment90QFormLayout 가 사용 가능한 공간 내에서 레이블을 정렬하는 방식에 대한 기본값을 제공합니다. Qt::Alignment 열거형을 반환합니다.
QStyle::SH_ItemView_ArrowKeysNavigateIntoChildren79트리 뷰가 확장된 상태에서 오른쪽 화살표 키를 누를 때 첫 번째 자식 요소를 선택할지 여부를 제어합니다.
QStyle::SH_ComboBox_PopupFrameStyle69콤보박스 팝업 메뉴를 그릴 때 사용되는 프레임 스타일입니다.
QStyle::SH_DialogButtonBox_ButtonsHaveIcons71QDialogButtonBox 의 StandardButtons에 아이콘을 표시할지 여부를 나타냅니다.
QStyle::SH_ItemView_MovementWithoutUpdatingSelection74항목 뷰는 선택 상태를 변경하지 않고도 현재 항목을 표시할 수 있습니다.
QStyle::SH_ToolTip_Mask75툴팁의 마스크입니다.
QStyle::SH_FocusFrame_AboveWidget76FocusFrame은 "포커스가 맞춰진" 위젯 위에 중첩되어 표시됩니다.
QStyle::SH_TextControl_FocusIndicatorTextCharFormat77예를 들어 QTextBrowser 에 표시되는 리치 텍스트 문서에서 포커스가 맞춰진 앵커를 강조 표시하는 데 사용되는 텍스트 형식을 지정합니다. 이 형식은 QStyleHintReturnVariant 반환 값의 변형으로 반환되는 QTextCharFormat 이어야 합니다. QTextFormat::OutlinePen 속성은 강조 표시된 영역의 윤곽선에 사용되며, QTextFormat::BackgroundBrush 는 배경에 사용됩니다.
QStyle::SH_Menu_FlashTriggeredItem81플래시로 트리거되는 항목.
QStyle::SH_Menu_FadeOutOnHide82메뉴를 즉시 숨기는 대신 페이드 아웃합니다.
QStyle::SH_TabWidget_DefaultTabPosition86탭 위젯에서 탭 바의 기본 위치.
QStyle::SH_ToolBar_Movable87도구 모음이 기본적으로 이동 가능한지 여부를 결정합니다.
QStyle::SH_ItemView_PaintAlternatingRowColorsForEmptyArea84QTreeView 가 항목이 없는 영역에 대해 행 색상을 번갈아 칠할지 여부.
QStyle::SH_Menu_Mask80팝업 메뉴의 마스크입니다.
QStyle::SH_ItemView_DrawDelegateFrame91델리게이트 위젯에 프레임을 표시할지 여부를 결정합니다.
QStyle::SH_TabBar_CloseButtonPosition92탭 바 내 탭의 닫기 버튼 위치를 결정합니다.
QStyle::SH_DockWidget_ButtonsHaveFrame93도크 위젯 버튼에 테두리를 표시할지 여부를 결정합니다. 기본값은 true입니다.
QStyle::SH_ToolButtonStyle94Qt::ToolButtonFollowStyle 를 사용하는 도구 버튼의 기본 시스템 스타일을 결정합니다.
QStyle::SH_RequestSoftwareInputPanel95입력 위젯이 소프트웨어 입력 패널을 요청해야 하는 시점을 결정합니다. QStyle::RequestSoftwareInputPanel 유형의 열거형을 반환합니다.
QStyle::SH_ScrollBar_Transient96이 스타일이 일시적 스크롤 막대를 지원하는지 여부를 결정합니다. 일시적 스크롤 막대는 콘텐츠가 스크롤될 때 나타나며, 더 이상 필요하지 않으면 사라집니다.
QStyle::SH_Menu_SupportsSections97스타일이 메뉴에서 섹션을 표시할지, 아니면 일반 구분선으로 처리할지 결정합니다. 섹션은 텍스트와 아이콘 힌트가 포함된 구분선입니다.
QStyle::SH_ToolTip_WakeUpDelay98툴팁이 표시되기까지의 지연 시간을 밀리초 단위로 지정합니다.
QStyle::SH_ToolTip_FallAsleepDelay99툴팁이 표시될 때(주의: 숨겨진 상태가 아닌, 표시된 상태) 새로운 웨이크 타임이 필요해지기까지의 지연 시간(밀리초 단위)을 결정합니다. 새로운 웨이크가 필요하지 않은 경우, 사용자가 요청한 툴팁은 거의 즉시 표시됩니다.
QStyle::SH_Widget_Animate100사용 중단됨. 대신 SH_Widget_Animation_Duration을 사용하십시오.
QStyle::SH_Splitter_OpaqueResize101스플리터를 대화형으로 이동하는 동안 위젯의 크기가 동적으로(투명하게) 조정되는지 여부를 결정합니다. 이 열거형 값은 Qt 5.2에서 도입되었습니다.
QStyle::SH_TabBar_ChangeCurrentDelay104탭바 위를 드래그할 때 현재 탭이 변경되기까지의 지연 시간을 밀리초 단위로 지정합니다. 이 열거형 값은 Qt 5.4에서 도입되었습니다.
QStyle::SH_ItemView_ScrollMode111스타일에 지정된 기본 수직 및 수평 스크롤 모드입니다. ` QAbstractItemView::setVerticalScrollMode()` 및 ` QAbstractItemView::setHorizontalScrollMode()`을 사용하여 재정의할 수 있습니다. 이 열거형 값은 Qt 5.7에서 도입되었습니다.
QStyle::SH_TitleBar_ShowToolTipsOnButtons112창 제목 표시줄 버튼에 툴팁을 표시할지 여부를 결정합니다. 예를 들어, Mac 스타일에서는 이 값을 false로 설정합니다. 이 열거형 값은 Qt 5.10에서 도입되었습니다.
QStyle::SH_Widget_Animation_Duration113애니메이션이 지속되는 시간(ms 단위)을 결정합니다. 값이 0이면 애니메이션이 비활성화됩니다. 이 열거형 값은 Qt 5.10에서 도입되었습니다.
QStyle::SH_ComboBox_AllowWheelScrolling114QComboBox 내에서 마우스 휠을 사용하여 스크롤할 수 있는지 여부를 결정합니다. Mac 스타일을 제외한 모든 스타일에서 기본적으로 활성화되어 있습니다. 이 열거형 값은 Qt 5.10에서 도입되었습니다.
QStyle::SH_SpinBox_ButtonsInsideFrame115스핀 박스 버튼이 라인 편집 프레임 내에 위치할지 여부를 결정합니다. 이 열거형 값은 Qt 5.11에서 도입되었습니다.
QStyle::SH_SpinBox_StepModifier116Qt::KeyboardModifier 중 어느 것이 QAbstractSpinBox 의 단계 간격을 늘리는지 결정합니다. 가능한 값은 Qt::NoModifier, Qt::ControlModifier (기본값) 또는 Qt::ShiftModifier 입니다. Qt::NoModifier 는 이 기능을 비활성화합니다. 이 열거형 값은 Qt 5.12에서 도입되었습니다.
QStyle::SH_TabBar_AllowWheelScrolling117마우스 휠을 사용하여 QTabBar 의 탭을 순차적으로 이동할 수 있는지 여부를 결정합니다. 이 열거형 값은 Qt 6.1에서 도입되었습니다.
QStyle::SH_Table_AlwaysDrawLeftTopGridLines118헤더가 숨겨져 있을 때 테이블의 맨 왼쪽 및 맨 위 격자선이 그려질지 여부를 결정합니다. 기본값은 false입니다. 이 열거형 값은 Qt 6.3에서 도입되었습니다.

styleHint()도 참조하십시오 .

enum QStyle::SubControl
flags QStyle::SubControls

이 열거형은 사용 가능한 하위 컨트롤을 설명합니다. 하위 컨트롤이란 복합 컨트롤(ComplexControl) 내에 포함된 컨트롤 요소를 말합니다.

상수값설명
QStyle::SC_None0x00000000다른 하위 컨트롤과 일치하지 않는 특수 값입니다.
QStyle::SC_ScrollBarAddLine0x00000001스크롤 막대 추가 선(즉, 아래쪽/오른쪽 화살표); QScrollBar 도 참조하십시오.
QStyle::SC_ScrollBarSubLine0x00000002스크롤 바 줄 이동(즉, 위/왼쪽 화살표).
QStyle::SC_ScrollBarAddPage0x00000004스크롤 바 페이지 추가(즉, Page Down).
QStyle::SC_ScrollBarSubPage0x00000008스크롤 바 페이지 이동(즉, Page Up).
QStyle::SC_ScrollBarFirst0x00000010스크롤 바 첫 번째 줄(즉, 시작).
QStyle::SC_ScrollBarLast0x00000020스크롤 바 마지막 줄(즉, 끝).
QStyle::SC_ScrollBarSlider0x00000040스크롤 막대 슬라이더 핸들.
QStyle::SC_ScrollBarGroove0x00000080슬라이더 핸들이 이동할 수 있는 영역을 포함하는 특수 하위 컨트롤.
QStyle::SC_SpinBoxUp0x00000001스핀 위젯 위/증가; QSpinBox 도 참조하십시오.
QStyle::SC_SpinBoxDown0x00000002스핀 위젯 아래/감소.
QStyle::SC_SpinBoxFrame0x00000004스핀 위젯 프레임.
QStyle::SC_SpinBoxEditField0x00000008스핀 위젯 편집 필드.
QStyle::SC_ComboBoxEditField0x00000002콤보박스 편집 필드; QComboBox 도 참조하십시오.
QStyle::SC_ComboBoxArrow0x00000004콤보박스 화살표 버튼.
QStyle::SC_ComboBoxFrame0x00000001콤보박스 프레임.
QStyle::SC_ComboBoxListBoxPopup0x00000008콤보박스 팝업의 기준 사각형. 팝업의 위치를 계산하는 데 사용됩니다.
QStyle::SC_SliderGroove0x00000001슬라이더 핸들이 이동할 수 있는 영역을 포함하는 특수 하위 컨트롤입니다.
QStyle::SC_SliderHandle0x00000002슬라이더 핸들.
QStyle::SC_SliderTickmarks0x00000004슬라이더 눈금.
QStyle::SC_ToolButton0x00000001도구 버튼( QToolButton 도 참조).
QStyle::SC_ToolButtonMenu0x00000002도구 버튼에서 팝업 메뉴를 여는 데 사용되는 하위 컨트롤입니다.
QStyle::SC_TitleBarSysMenu0x00000001시스템 메뉴 버튼(예: 복원, 닫기 등).
QStyle::SC_TitleBarMinButton0x00000002최소화 버튼.
QStyle::SC_TitleBarMaxButton0x00000004최대화 버튼.
QStyle::SC_TitleBarCloseButton0x00000008닫기 버튼.
QStyle::SC_TitleBarLabel0x00000100창 제목 레이블.
QStyle::SC_TitleBarNormalButton0x00000010일반(복원) 버튼.
QStyle::SC_TitleBarShadeButton0x00000020가리기 버튼.
QStyle::SC_TitleBarUnshadeButton0x00000040가리기 해제 버튼.
QStyle::SC_TitleBarContextHelpButton0x00000080컨텍스트 도움말 버튼.
QStyle::SC_DialHandle0x00000002다이얼의 손잡이(즉, 다이얼을 조작하는 데 사용하는 부분).
QStyle::SC_DialGroove0x00000001다이얼용 홈.
QStyle::SC_DialTickmarks0x00000004다이얼의 눈금.
QStyle::SC_GroupBoxFrame0x00000008그룹 박스의 테두리.
QStyle::SC_GroupBoxLabel0x00000002그룹 박스의 제목.
QStyle::SC_GroupBoxCheckBox0x00000001그룹 박스의 선택적 체크박스.
QStyle::SC_GroupBoxContents0x00000004그룹 박스의 내용.
QStyle::SC_MdiNormalButton0x00000002메뉴 바에 있는 MDI 하위 창의 일반 버튼.
QStyle::SC_MdiMinButton0x00000001메뉴 바에 있는 MDI 하위 창의 최소화 버튼.
QStyle::SC_MdiCloseButton0x00000004메뉴 모음에 있는 MDI 하위 창의 닫기 버튼.
QStyle::SC_All0xffffffff모든 하위 컨트롤과 일치하는 특수 값.

SubControls 유형은 QFlags<SubControl>에 대한 typedef입니다. 이 유형은 SubControl 값들의 OR 조합을 저장합니다.

ComplexControl도 참조하십시오 .

enum QStyle::SubElement

이 열거형은 위젯의 하위 영역을 나타냅니다. 스타일 구현체는 이러한 영역을 사용하여 위젯의 여러 부분을 그립니다.

상수값설명
QStyle::SE_PushButtonContents0라벨(텍스트가 포함된 아이콘 또는 픽스맵)이 포함된 영역입니다.
QStyle::SE_PushButtonFocusRect1포커스 사각형(focus rect)을 위한 영역(일반적으로 콘텐츠 사각형(contents rect)보다 큽니다).
QStyle::SE_PushButtonLayoutItem37상위 레이아웃에 포함되는 영역.
QStyle::SE_PushButtonBevel (since Qt 5.15)56버튼의 베벨에 사용되는 영역.
QStyle::SE_CheckBoxIndicator2상태 표시기(예: 체크 표시)를 위한 영역.
QStyle::SE_CheckBoxContents3라벨(텍스트 또는 픽스맵)을 위한 영역.
QStyle::SE_CheckBoxFocusRect4포커스 표시기 영역.
QStyle::SE_CheckBoxClickRect5클릭 가능한 영역으로, 기본값은 SE_CheckBoxFocusRect입니다.
QStyle::SE_CheckBoxLayoutItem32상위 레이아웃에 포함되는 영역.
QStyle::SE_DateTimeEditLayoutItem34상위 레이아웃에 포함되는 영역.
QStyle::SE_RadioButtonIndicator6상태 표시기 영역.
QStyle::SE_RadioButtonContents7라벨 영역.
QStyle::SE_RadioButtonFocusRect8포커스 표시기 영역.
QStyle::SE_RadioButtonClickRect9클릭 가능한 영역으로, 기본값은 SE_RadioButtonFocusRect입니다.
QStyle::SE_RadioButtonLayoutItem38상위 레이아웃에 포함되는 영역.
QStyle::SE_ComboBoxFocusRect10포커스 표시기 영역.
QStyle::SE_SliderFocusRect11포커스 표시기 영역.
QStyle::SE_SliderLayoutItem39상위 레이아웃에 포함되는 영역.
QStyle::SE_SpinBoxLayoutItem40상위 레이아웃에 포함되는 영역.
QStyle::SE_ProgressBarGroove12그루브를 위한 영역.
QStyle::SE_ProgressBarContents13진행률 표시기 영역.
QStyle::SE_ProgressBarLabel14텍스트 레이블 영역.
QStyle::SE_ProgressBarLayoutItem36상위 레이아웃에 포함되는 영역.
QStyle::SE_FrameContents27프레임의 내용물을 위한 영역.
QStyle::SE_ShapedFrameContents51QStyleOptionFrame 의 도형을 사용하는 프레임 콘텐츠 영역; 참조 QFrame
QStyle::SE_FrameLayoutItem42상위 레이아웃에 포함되는 영역.
QStyle::SE_HeaderArrow17헤더의 정렬 표시기를 위한 영역.
QStyle::SE_HeaderLabel16헤더 내 레이블을 위한 영역.
QStyle::SE_LabelLayoutItem35상위 레이아웃에 포함되는 영역.
QStyle::SE_LineEditContents26라인 편집기의 내용에 할당되는 영역.
QStyle::SE_TabWidgetLeftCorner21탭 위젯 내 왼쪽 모서리 위젯을 위한 영역.
QStyle::SE_TabWidgetRightCorner22탭 위젯 내 오른쪽 모서리 위젯을 위한 영역.
QStyle::SE_TabWidgetTabBar18탭 위젯 내 탭 바 위젯을 위한 영역.
QStyle::SE_TabWidgetTabContents20탭 위젯의 내용을 표시하는 영역.
QStyle::SE_TabWidgetTabPane19탭 위젯의 패널을 위한 영역.
QStyle::SE_TabWidgetLayoutItem44상위 레이아웃에 포함되는 영역.
QStyle::SE_ToolBoxTabContents15툴박스 탭의 아이콘과 레이블을 위한 영역.
QStyle::SE_ToolButtonLayoutItem41상위 레이아웃에 포함되는 영역.
QStyle::SE_ItemViewItemCheckIndicator23뷰 항목의 체크 표시를 위한 영역.
QStyle::SE_TabBarTearIndicator24사용 중단됨. 대신 SE_TabBarTearIndicatorLeft를 사용하십시오.
QStyle::SE_TabBarTearIndicatorLeftSE_TabBarTearIndicator스크롤 화살표가 있는 탭 막대의 왼쪽에 표시되는 찢어짐 표시기 영역.
QStyle::SE_TabBarTearIndicatorRight55스크롤 화살표가 있는 탭 바의 오른쪽에 있는 찢김 표시기 영역.
QStyle::SE_TabBarScrollLeftButton53스크롤 버튼이 있는 탭 바의 왼쪽 스크롤 버튼 영역.
QStyle::SE_TabBarScrollRightButton54스크롤 버튼이 있는 탭 바의 스크롤 오른쪽 버튼 영역.
QStyle::SE_TreeViewDisclosureItem25트리 분기 내의 실제 공개 항목을 위한 영역.
QStyle::SE_GroupBoxLayoutItem43상위 레이아웃에 포함되는 영역.
QStyle::SE_CustomBase0xf0000000사용자 정의 하위 요소의 기본값. 사용자 정의 값은 이 값보다 커야 합니다.
QStyle::SE_DockWidgetFloatButton29도크 위젯의 플로트 버튼.
QStyle::SE_DockWidgetTitleBarText30도크 위젯 제목의 텍스트 경계.
QStyle::SE_DockWidgetCloseButton28도크 위젯의 닫기 버튼.
QStyle::SE_DockWidgetIcon31도크 위젯의 아이콘.
QStyle::SE_ComboBoxLayoutItem33상위 레이아웃에 포함되는 영역.
QStyle::SE_ItemViewItemDecoration45뷰 항목의 장식(아이콘)을 위한 영역.
QStyle::SE_ItemViewItemText46뷰 항목의 텍스트를 표시하는 영역.
QStyle::SE_ItemViewItemFocusRect47뷰 항목의 포커스 사각형 영역.
QStyle::SE_TabBarTabLeftButton48탭 바 내 탭의 왼쪽에 위치한 위젯을 위한 영역.
QStyle::SE_TabBarTabRightButton49탭 바 내 탭의 오른쪽에 위치한 위젯을 위한 영역.
QStyle::SE_TabBarTabText50탭 바 내 탭의 텍스트 영역.
QStyle::SE_ToolBarHandle52툴바의 핸들을 표시할 영역.

subElementRect()도 참조하십시오 .

멤버 함수 문서

QStyle::QStyle()

스타일 객체를 생성합니다.

[virtual noexcept] QStyle::~QStyle()

스타일 객체를 삭제합니다.

[static] QRect QStyle::alignedRect(Qt::LayoutDirection direction, Qt::Alignment alignment, const QSize &size, const QRect &rectangle)

지정된 size 에 따라, 주어진 rectangle 에 맞춰 지정된 alignment 및 direction 에 따라 정렬된 새로운 사각형을 반환합니다.

int QStyle::combinedLayoutSpacing(QSizePolicy::ControlTypes controls1, QSizePolicy::ControlTypes controls2, Qt::Orientation orientation, QStyleOption *option = nullptr, QWidget *widget = nullptr) const

레이아웃에서 ` controls1 `과 ` controls2 ` 사이에 사용해야 할 간격을 반환합니다. ` orientation `은 컨트롤을 나란히 배치할지, 아니면 수직으로 쌓아 배치할지를 지정합니다. ` option ` 매개변수는 상위 위젯에 대한 추가 정보를 전달하는 데 사용할 수 있습니다. ` widget ` 매개변수는 선택 사항이며, ` option `이 ` nullptr`인 경우에도 사용할 수 있습니다.

controls1 controls2 는 0개 이상의 의 OR 조합입니다. control types

이 함수는 레이아웃 시스템에 의해 호출됩니다. 이 함수는 PM_LayoutHorizontalSpacing 또는 PM_LayoutVerticalSpacing 가 음수 값을 반환하는 경우에만 사용됩니다.

layoutSpacing()도 참조하십시오 .

[pure virtual] void QStyle::drawComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget = nullptr) const

지정된 ` control `를, 제공된 ` painter `를 사용하여 ` option`에 명시된 스타일 옵션으로 그립니다.

widget 인수는 선택 사항이며, 컨트롤을 그리는 데 보조 수단으로 사용할 수 있습니다.

option 매개변수는 QStyleOptionComplex 객체에 대한 포인터이며, qstyleoption_cast() 함수를 사용하여 올바른 서브클래스로 형변환할 수 있습니다. 지정된 option 의 rect 멤버는 논리 좌표로 되어 있어야 합니다. 이 함수를 재구현할 때는 drawPrimitive() 또는 drawControl() 함수를 호출하기 전에 visualRect()를 사용하여 논리 좌표를 화면 좌표로 변환해야 합니다.

아래 표에는 복합 컨트롤 요소와 이에 연관된 스타일 옵션 하위 클래스가 나열되어 있습니다. 스타일 옵션에는 컨트롤을 그리는 데 필요한 모든 매개변수가 포함되어 있으며, 여기에는 그리기 시 사용되는 style flags 를 담는 QStyleOption::state 도 포함됩니다. 또한 이 표는 주어진 option 를 적절한 하위 클래스로 형변환할 때 설정되는 플래그에 대해서도 설명합니다.

복합 컨트롤QStyleOptionComplex 서브클래스스타일 플래그비고
CC_SpinBoxQStyleOptionSpinBoxState_Enabled스핀 박스가 활성화된 경우 설정합니다.
State_HasFocus스핀 박스에 입력 포커스가 있을 때 설정합니다.
CC_ComboBoxQStyleOptionComboBoxState_Enabled콤보박스가 활성화된 경우 설정합니다.
State_HasFocus콤보박스에 입력 포커스가 있을 때 설정합니다.
CC_ScrollBarQStyleOptionSliderState_Enabled스크롤 막대가 활성화된 경우 설정합니다.
State_HasFocus스크롤 바에 입력 포커스가 있는 경우 설정합니다.
CC_SliderQStyleOptionSliderState_Enabled슬라이더가 활성화되어 있는 경우 설정합니다.
State_HasFocus슬라이더에 입력 포커스가 있는 경우 설정합니다.
CC_DialQStyleOptionSliderState_Enabled다이얼이 활성화된 경우 이 속성을 설정합니다.
State_HasFocus다이얼에 입력 포커스가 있는 경우 설정합니다.
CC_ToolButtonQStyleOptionToolButtonState_Enabled도구 버튼이 활성화된 경우 설정합니다.
State_HasFocus툴 버튼에 입력 포커스가 있는 경우 설정합니다.
State_DownArrow도구 버튼이 눌려 있는 경우(즉, 마우스 버튼이나 스페이스 바가 눌려 있는 경우) 이 속성을 설정합니다.
State_On도구 버튼이 토글 버튼이고 켜져 있는 경우 설정합니다.
State_AutoRaise도구 버튼에 자동 상승 기능이 활성화되어 있는 경우 이 속성을 설정합니다.
State_Raised자동 올리기 기능이 활성화된 상태에서 버튼이 눌려 있지 않고, 켜져 있지 않으며, 마우스가 버튼 위에 있지 않은 경우 이 속성을 설정합니다.
CC_TitleBarQStyleOptionTitleBarState_Enabled제목 표시줄이 활성화되어 있으면 이 속성을 설정합니다.

drawPrimitive() 및 drawControl()도 참조하십시오 .

[pure virtual] void QStyle::drawControl(QStyle::ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const

지정된 ` element `를 제공된 ` painter `를 사용하여 ` option`로 지정된 스타일 옵션에 따라 그립니다.

widget 인수는 선택 사항이며, 컨트롤을 그리는 데 보조 수단으로 사용할 수 있습니다. option 매개변수는 QStyleOption 객체에 대한 포인터로, qstyleoption_cast() 함수를 사용하여 올바른 서브클래스로 형변환할 수 있습니다.

아래 표에는 컨트롤 요소와 관련 스타일 옵션 서브클래스가 나열되어 있습니다. 스타일 옵션에는 컨트롤을 그리는 데 필요한 모든 매개변수가 포함되어 있으며, 여기에는 그리기 시 사용되는 스타일 플래그를 포함하는 ` QStyleOption::state `도 포함됩니다. 또한 이 표에는 주어진 옵션을 적절한 서브클래스로 형변환할 때 설정되는 플래그가 설명되어 있습니다.

여기에 나열되지 않은 컨트롤 요소가 있다면, 이는 해당 요소가 일반 QStyleOption 객체를 사용하기 때문입니다.

컨트롤 요소QStyleOption 서브클래스스타일 플래그비고
CE_MenuItem, CE_MenuBarItemQStyleOptionMenuItemState_Selected이 메뉴 항목은 현재 선택된 항목입니다.
State_Enabled항목이 활성화되어 있습니다.
State_DownArrow아래로 스크롤 화살표를 그려야 함을 나타냅니다.
State_UpArrow위로 스크롤 화살표를 그려야 함을 나타냅니다.
State_HasFocus메뉴 막대에 입력 포커스가 있는 경우 이 속성을 설정합니다.
CE_PushButton, CE_PushButtonBevel, CE_PushButtonLabelQStyleOptionButtonState_Enabled버튼이 활성화되어 있으면 설정합니다.
State_HasFocus버튼에 입력 포커스가 있는 경우 설정합니다.
State_Raised버튼이 눌려 있지 않고, 활성화되어 있지 않으며, 평평한 상태가 아닐 때 설정합니다.
State_On버튼이 토글 버튼이고 켜져 있는 경우 설정합니다.
State_Sunken버튼이 눌려 있는 경우(즉, 버튼 위에서 마우스 버튼이나 스페이스 바가 눌려 있는 경우) 설정합니다.
CE_RadioButton, CE_RadioButtonLabel, CE_CheckBox, CE_CheckBoxLabelQStyleOptionButtonState_Enabled버튼이 활성화된 경우 이 속성을 설정합니다.
State_HasFocus버튼에 입력 포커스가 있을 때 설정합니다.
State_On버튼이 선택된 경우 설정합니다.
State_Off버튼이 선택 해제된 경우 이 값을 설정합니다.
State_NoChange버튼이 NoChange 상태인 경우 설정합니다.
State_Sunken버튼이 눌린 상태(즉, 버튼 위에서 마우스 버튼이나 스페이스 바가 눌린 상태)인 경우 설정합니다.
CE_ProgressBarContents, CE_ProgressBarLabel, CE_ProgressBarGrooveQStyleOptionProgressBarState_Enabled진행률 표시줄이 활성화된 경우 설정합니다.
State_HasFocus진행률 표시줄에 입력 포커스가 있을 때 설정합니다.
CE_Header, CE_HeaderSection, CE_HeaderLabelQStyleOptionHeader
CE_TabBarTab, CE_TabBarTabShape, CE_TabBarTabLabelQStyleOptionTabState_Enabled탭 바가 활성화되어 있는지 여부를 설정합니다.
State_Selected탭 바는 현재 선택된 탭 바입니다.
State_HasFocus탭 바의 탭에 입력 포커스가 있는 경우 설정합니다.
CE_ToolButtonLabelQStyleOptionToolButtonState_Enabled도구 버튼이 활성화된 경우 설정됩니다.
State_HasFocus툴 버튼에 입력 포커스가 있을 때 설정됩니다.
State_Sunken도구 버튼이 눌려 있는 경우(즉, 마우스 버튼이나 스페이스 바가 눌려 있는 경우) 설정합니다.
State_On도구 버튼이 토글 버튼이고 켜져 있는 경우 설정합니다.
State_AutoRaise도구 버튼에 자동 상승 기능이 활성화되어 있는 경우 이 속성을 설정합니다.
State_MouseOver마우스 포인터가 도구 버튼 위에 있는 경우 설정합니다.
State_Raised버튼이 눌려 있지 않고 켜져 있지 않은 경우 이 속성을 설정합니다.
CE_ToolBoxTabQStyleOptionToolBoxState_Selected탭은 현재 선택된 탭입니다.
CE_HeaderSectionQStyleOptionHeaderState_Sunken해당 섹션이 눌려 있음을 나타냅니다.
State_UpArrow정렬 표시기가 위쪽을 향해야 함을 나타냅니다.
State_DownArrow정렬 표시기가 아래를 향해야 함을 나타냅니다.

drawPrimitive() 및 drawComplexControl()도 참조하십시오 .

[virtual] void QStyle::drawItemPixmap(QPainter *painter, const QRect &rectangle, int alignment, const QPixmap &pixmap) const

지정된 pixmap 를, 제공된 painter 를 사용하여, 지정된 alignment 에 따라, 지정된 rectangle 에 그립니다.

drawItemText()도 참조하십시오 .

[virtual] void QStyle::drawItemText(QPainter *painter, const QRect &rectangle, int alignment, const QPalette &palette, bool enabled, const QString &text, QPalette::ColorRole textRole = QPalette::NoRole) const

제공된 painter 및 palette 를 사용하여, 지정된 rectangle 내에 주어진 text 를 그립니다.

텍스트는 페인터의 펜을 사용하여 그려지며, 지정된 alignment 에 따라 정렬되고 줄바꿈됩니다. 명시적인 textRole 가 지정된 경우, 텍스트는 주어진 역할에 대한 palette 의 색상을 사용하여 그려집니다. enabled 매개변수는 항목이 활성화되었는지 여부를 나타냅니다. 이 함수를 재구현할 때, enabled 매개변수는 항목이 그려지는 방식에 영향을 미쳐야 합니다.

Qt::Alignment 및 drawItemPixmap()도 참조하십시오 .

[pure virtual] void QStyle::drawPrimitive(QStyle::PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const

option 에서 지정한 스타일 옵션을 사용하여, 제공된 painter 를 통해 주어진 프라이머리 element 를 그립니다.

widget 인수는 선택 사항이며, 프라이미티브 요소를 그리는 데 도움이 될 수 있는 위젯을 포함할 수 있습니다.

아래 표에는 기본 요소와 관련 스타일 옵션 하위 클래스가 나열되어 있습니다. 스타일 옵션에는 요소 그리기에 필요한 모든 매개변수가 포함되어 있으며, 여기에는 그리기 시 사용되는 스타일 플래그를 포함하는 ` QStyleOption::state `도 포함됩니다. 또한 이 표는 주어진 옵션을 적절한 하위 클래스로 형변환할 때 어떤 플래그가 설정되는지 설명합니다.

여기에 나열되지 않은 기본 요소가 있다면, 이는 해당 요소가 일반 QStyleOption 객체를 사용하기 때문입니다.

기본 요소QStyleOption 서브클래스스타일 플래그비고
PE_FrameFocusRectQStyleOptionFocusRectState_FocusAtBorder포커스가 위젯의 테두리에 있는지, 내부에 있는지 여부.
PE_IndicatorCheckBoxQStyleOptionButtonState_NoChange"3상태" 체크박스를 나타냅니다.
State_On표시기가 선택된 상태임을 나타냅니다.
PE_IndicatorRadioButtonQStyleOptionButtonState_On라디오 버튼이 선택되었음을 나타냅니다.
State_NoChange"3상태" 컨트롤러를 나타냅니다.
State_Enabled컨트롤러가 활성화되었음을 나타냅니다.
PE_IndicatorBranchQStyleOptionState_Children자식 항목을 표시하기 위해 트리를 확장하는 컨트롤을 그려야 함을 나타냅니다.
State_Item(자식 항목을 표시하기 위한) 수평 분기가 그려져야 함을 나타냅니다.
State_Open트리 분기가 확장되었음을 나타냅니다.
State_Sibling(동급 항목을 표시하기 위한) 수직선이 그려져야 함을 나타냅니다.
PE_IndicatorHeaderArrowQStyleOptionHeaderState_UpArrow화살표가 위쪽을 향하도록 그려져야 함을 나타냅니다. 그렇지 않은 경우 아래쪽을 향해야 합니다.
PE_FrameGroupBox, PE_Frame, PE_FrameLineEdit, PE_FrameMenu, PE_FrameDockWidget, PE_FrameWindowQStyleOptionFrameState_Sunken프레임이 오목하게 표시되어야 함을 나타냅니다.
PE_IndicatorToolBarHandleQStyleOptionState_Horizontal창 핸들이 수직이 아닌 수평임을 나타냅니다.
PE_IndicatorSpinPlus, PE_IndicatorSpinMinus, PE_IndicatorSpinUp, PE_IndicatorSpinDown,QStyleOptionSpinBoxState_Sunken버튼이 눌려 있음을 나타냅니다.
PE_PanelButtonCommandQStyleOptionButtonState_Enabled버튼이 활성화되어 있으면 설정합니다.
State_HasFocus버튼에 입력 포커스가 있을 때 설정합니다.
State_Raised버튼이 눌려 있지 않고, 활성화되어 있지 않으며, 평평하지 않은 경우 이 속성을 설정합니다.
State_On버튼이 토글 버튼이고 켜져 있는 경우 설정합니다.
State_Sunken버튼이 눌려 있는 경우(즉, 버튼 위에서 마우스 버튼이나 스페이스 바가 눌려 있는 경우)에 설정됩니다.

drawComplexControl() 및 drawControl()도 참조하십시오 .

[pure virtual] QPixmap QStyle::generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap, const QStyleOption *option) const

지정된 ` pixmap`의 복사본을 반환하며, 이 복사본은 지정된 ` iconMode `에 따라 스타일이 적용되고 ` option`로 지정된 색상 팔레트를 반영합니다.

option 매개변수는 추가 정보를 전달할 수 있지만, 반드시 팔레트를 포함해야 합니다.

모든 픽스맵이 이 조건을 충족하는 것은 아니며, 이 경우 반환되는 픽스맵은 단순한 복사본입니다.

QIcon도 참조하십시오 .

[pure virtual] QStyle::SubControl QStyle::hitTestComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, const QPoint &position, const QWidget *widget = nullptr) const

지정된 position 에 있는 하위 컨트롤을, 지정된 complex control 로 반환합니다( option 에 지정된 스타일 옵션이 적용됨).

position 는 화면 좌표로 표현된다는 점에 유의하십시오.

option 인자는 QStyleOptionComplex 객체(또는 그 하위 클래스 중 하나)에 대한 포인터입니다. 이 객체는 qstyleoption_cast() 함수를 사용하여 적절한 유형으로 형변환할 수 있습니다. 자세한 내용은 drawComplexControl()을 참조하십시오. widget 인자는 선택 사항이며, 함수에 대한 추가 정보를 포함할 수 있습니다.

drawComplexControl() 및 subControlRect()도 참조하십시오 .

[virtual] QRect QStyle::itemPixmapRect(const QRect &rectangle, int alignment, const QPixmap &pixmap) const

지정된 ` rectangle ` 내에서, 정의된 ` alignment`에 따라 지정된 ` pixmap `을 그릴 영역을 반환합니다.

[virtual] QRect QStyle::itemTextRect(const QFontMetrics &metrics, const QRect &rectangle, int alignment, bool enabled, const QString &text) const

지정된 rectangle 내에서, 지정된 글꼴 metrics 및 alignment 에 따라 제공된 text 을 그릴 영역을 반환합니다. enabled 매개변수는 관련 항목이 활성화되어 있는지 여부를 나타냅니다.

주어진 rectangle 가 text 를 렌더링하는 데 필요한 영역보다 크면, 반환되는 사각형은 지정된 alignment 에 따라 rectangle 내에서 오프셋됩니다. 예를 들어, alignment 가 Qt::AlignCenter 인 경우, 반환되는 사각형은 rectangle 내에서 중앙에 배치됩니다. 주어진 rectangle 가 필요한 영역보다 작으면, 반환되는 사각형은 text 를 렌더링하기에 충분한 최소 크기의 사각형이 됩니다.

Qt::Alignment도 참조하십시오 .

[pure virtual] int QStyle::layoutSpacing(QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const

레이아웃에서 ` control1 `과 ` control2 ` 사이에 사용해야 할 간격을 반환합니다. ` orientation `은 컨트롤이 나란히 배치될지, 아니면 수직으로 쌓일지를 지정합니다. ` option ` 매개변수는 상위 위젯에 대한 추가 정보를 전달하는 데 사용할 수 있습니다. ` widget ` 매개변수는 선택 사항이며, ` option `이 ` nullptr`인 경우에도 사용할 수 있습니다.

이 함수는 레이아웃 시스템에 의해 호출됩니다. 이 함수는 PM_LayoutHorizontalSpacing 또는 PM_LayoutVerticalSpacing 가 음수 값을 반환하는 경우에만 사용됩니다.

combinedLayoutSpacing()도 참조하십시오 .

[since 6.1] QString QStyle::name() const

스타일의 이름을 반환합니다.

이 값은 ` QStyleFactory::create()`를 사용하여 스타일을 생성하는 데 사용할 수 있습니다.

이 함수는 Qt 6.1에서 도입되었습니다.

QStyleFactory::create()도 참조하십시오 .

[pure virtual] int QStyle::pixelMetric(QStyle::PixelMetric metric, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const

지정된 픽셀 metric 의 값을 반환합니다.

지정된 option 및 widget 는 메트릭 계산에 사용될 수 있습니다. option 는 qstyleoption_cast() 함수를 사용하여 적절한 형식으로 형변환할 수 있습니다. option 는 이를 활용할 수 있는 PixelMetrics의 경우에도 0일 수 있다는 점에 유의하십시오. 적절한 option 형변환에 대해서는 아래 표를 참조하십시오:

일부 픽셀 메트릭은 위젯에서 호출되는 반면, 일부는 스타일 내부에서만 호출됩니다. 메트릭이 위젯에서 호출되지 않는 경우, 이를 활용할지 여부는 스타일 작성자의 재량에 달려 있습니다. 일부 스타일의 경우, 이는 적절하지 않을 수 있습니다.

[virtual] void QStyle::polish(QWidget *widget)

지정된 ` widget`의 외관을 초기화합니다.

이 함수는 위젯이 완전히 생성된 후, 처음 표시되기 직전에 각 위젯에 대해 호출됩니다.

기본 구현은 아무 작업도 수행하지 않는다는 점에 유의하십시오. 이 함수에서 수행할 수 있는 적절한 작업으로는 위젯에 대해 QWidget::setBackgroundMode() 함수를 호출하는 것이 있습니다. 예를 들어, 기하학적 구조를 설정하는 데 이 함수를 사용해서는 안 됩니다. 이 함수를 재구현하면 위젯의 외관을 변경할 수 있는 우회 경로가 제공되지만, Qt의 스타일 엔진을 사용하면 이 함수를 구현할 필요가 거의 없습니다. 대신 drawItemPixmap(), drawItemText(), drawPrimitive() 등을 재구현하십시오.

QWidget::inherits() 함수는 클래스별 맞춤 설정을 가능하게 할 만큼 충분한 정보를 제공할 수 있습니다. 그러나 새로운 QStyle 하위 클래스는 현재 및 향후 모든 위젯과 합리적으로 호환되어야 하므로, 하드코딩된 맞춤 설정의 사용은 제한하는 것이 좋습니다.

unpolish()도 참조하십시오 .

[virtual] void QStyle::polish(QApplication *application)

지정된 ` application ` 객체의 초기화가 늦게 이루어졌습니다.

이 함수는 오버로드된 함수입니다.

[virtual] void QStyle::polish(QPalette &palette)

색상 팔레트에 대한 스타일별 요구 사항(있는 경우)에 따라 ` palette `를 변경합니다.

이 함수는 오버로드된 함수입니다.

QPalette 및 QApplication::setPalette()도 참조하십시오 .

const QStyle *QStyle::proxy() const

이 함수는 해당 스타일의 현재 프록시를 반환합니다. 기본적으로 대부분의 스타일은 자체를 반환합니다. 하지만 프록시 스타일이 사용 중인 경우, 해당 스타일은 프록시로 다시 호출할 수 있게 됩니다.

[pure virtual] QSize QStyle::sizeFromContents(QStyle::ContentsType type, const QStyleOption *option, const QSize &contentsSize, const QWidget *widget = nullptr) const

지정된 ` option ` 및 ` type`에 의해 설명되는 요소의 크기를, 제공된 ` contentsSize`을 기준으로 반환합니다.

option 인자는 QStyleOption 또는 그 하위 클래스 중 하나를 가리키는 포인터입니다. option 는 qstyleoption_cast() 함수를 사용하여 적절한 형식으로 형변환할 수 있습니다. widget 는 선택적 인자이며, 크기 계산에 사용되는 추가 정보를 포함할 수 있습니다.

적절한 ` option ` 형변환에 대해서는 아래 표를 참조하십시오:

ContentsType 및 QStyleOption도 참조하십시오 .

[static] int QStyle::sliderPositionFromValue(int min, int max, int logicalValue, int span, bool upsideDown = false)

지정된 logicalValue 를 픽셀 위치로 변환합니다. min 매개변수는 0에, max 는 span 에 매핑되며, 그 외의 값들은 이 두 값 사이에 균등하게 분포됩니다.

span 가 4096보다 작을 경우, 이 함수는 오버플로우 없이 전체 정수 범위를 처리할 수 있습니다.

기본적으로 이 함수는 수평 항목의 경우 최대값이 오른쪽에, 수직 항목의 경우 하단에 있다고 가정합니다. 이 동작을 반대로 하려면 upsideDown 매개변수를 true로 설정하십시오.

sliderValueFromPosition()도 참조하십시오 .

[static] int QStyle::sliderValueFromPosition(int min, int max, int position, int span, bool upsideDown = false)

지정된 픽셀 값 position 을 논리값으로 변환합니다. 0은 min 매개변수에, span 은 max 에 매핑되며, 그 외의 값들은 이 두 값 사이에 균등하게 분포됩니다.

이 함수는 오버플로우 없이 전체 정수 범위를 처리할 수 있습니다.

기본적으로 이 함수는 가로 방향 항목의 경우 최대값이 오른쪽에, 세로 방향 항목의 경우 하단에 위치한다고 가정합니다. 이 동작을 반대로 하려면 upsideDown 매개변수를 true로 설정하십시오.

sliderPositionFromValue()도 참조하십시오 .

[pure virtual] QIcon QStyle::standardIcon(QStyle::StandardPixmap standardIcon, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const

지정된 ` standardIcon`에 대한 아이콘을 반환합니다.

standardIcon 는 기존 GUI 스타일이나 지침을 따를 수 있는 표준 픽스맵입니다. option 인수는 적절한 아이콘을 정의할 때 필요한 추가 정보를 전달하는 데 사용할 수 있습니다. widget 인수는 선택 사항이며, 아이콘을 결정하는 데 도움을 주기 위해 사용할 수도 있습니다.

[virtual] QPalette QStyle::standardPalette() const

스타일의 표준 색상 팔레트를 반환합니다.

시스템 색상을 지원하는 시스템에서는 스타일의 표준 팔레트가 사용되지 않는다는 점에 유의하십시오. 특히, Windows Vista 및 Mac 스타일은 표준 팔레트를 사용하지 않고 네이티브 테마 엔진을 활용합니다. 이러한 스타일의 경우, ` QApplication::setPalette()`를 사용하여 팔레트를 설정해서는 안 됩니다.

QApplication::setPalette()도 참조하십시오 .

[pure virtual] int QStyle::styleHint(QStyle::StyleHint hint, const QStyleOption *option = nullptr, const QWidget *widget = nullptr, QStyleHintReturn *returnData = nullptr) const

제공된 스타일 option 로 정의된 주어진 widget 에 대한 지정된 스타일 hint 을 나타내는 정수를 반환합니다.

returnData 이 메서드는 쿼리하는 위젯이 styleHint()가 반환하는 정수보다 더 상세한 데이터가 필요할 때 사용됩니다. 자세한 내용은 QStyleHintReturn 클래스 설명을 참조하십시오.

[pure virtual] QRect QStyle::subControlRect(QStyle::ComplexControl control, const QStyleOptionComplex *option, QStyle::SubControl subControl, const QWidget *widget = nullptr) const

주어진 복소수 control 의 지정된 subControl 를 포함하는 사각형을 반환합니다(스타일은 option 로 지정됨). 이 사각형은 화면 좌표계로 정의됩니다.

option 인자는 QStyleOptionComplex 또는 그 하위 클래스 중 하나를 가리키는 포인터이며, qstyleoption_cast() 함수를 사용하여 적절한 유형으로 형변환할 수 있습니다. 자세한 내용은 drawComplexControl()을 참조하십시오. widget 은 선택 사항이며, 함수를 위한 추가 정보를 포함할 수 있습니다.

drawComplexControl()도 참조하십시오 .

[pure virtual] QRect QStyle::subElementRect(QStyle::SubElement element, const QStyleOption *option, const QWidget *widget = nullptr) const

제공된 스타일 option 에 설명된 대로, 지정된 ` element `에 해당하는 하위 영역을 반환합니다. 반환된 사각형은 화면 좌표계로 정의됩니다.

widget 인수는 선택 사항이며, 영역을 결정하는 데 참고할 수 있습니다. QStyleOption 객체는 qstyleoption_cast() 함수를 사용하여 적절한 형식으로 형변환할 수 있습니다. 적절한 option 형변환에 대해서는 아래 표를 참조하십시오:

[virtual] void QStyle::unpolish(QWidget *widget)

지정된 ` widget`의 외관을 초기화 해제합니다.

이 함수는 ` polish()`의 대응 함수입니다. 이 함수는 스타일이 동적으로 변경될 때마다 폴리싱 처리된 모든 위젯에 대해 호출되며, 새로운 스타일이 설정을 다시 폴리싱 처리하기 전에 이전 스타일의 설정을 폴리싱 해제해야 합니다.

unpolish()는 위젯이 소멸될 때만 호출된다는 점에 유의하십시오. 이는 경우에 따라 문제를 일으킬 수 있습니다. 예를 들어, UI에서 위젯을 제거한 후 캐시해 두었다가, 스타일이 변경된 후에 다시 삽입하는 경우 등이 해당되며, Qt Widgets의 일부 클래스는 위젯을 캐시합니다.

polish()도 참조하십시오 .

[virtual] void QStyle::unpolish(QApplication *application)

지정된 ` application`의 초기화를 해제합니다.

이 함수는 오버로드된 함수입니다.

[static] Qt::Alignment QStyle::visualAlignment(Qt::LayoutDirection direction, Qt::Alignment alignment)

Qt::AlignAbsolute 가 없는 Qt::AlignLeft 또는 Qt::AlignRight 의 alignment 를, 레이아웃 direction 에 따라 Qt::AlignAbsolute 가 적용된 Qt::AlignLeft 또는 Qt::AlignRight 로 변환합니다. 다른 정렬 플래그는 변경되지 않습니다.

수평 정렬이 지정되지 않은 경우, 이 함수는 주어진 레이아웃 direction 에 대한 기본 정렬을 반환합니다.

QWidget::layoutDirection

[static] QPoint QStyle::visualPos(Qt::LayoutDirection direction, const QRect &boundingRectangle, const QPoint &logicalPosition)

logicalPosition 지정된 direction 를 지정된 에 따라 화면 좌표로 변환한 값을 반환합니다. 변환을 수행할 때 boundingRectangle 가 사용됩니다.

QWidget::layoutDirection도 참조하십시오 .

[static] QRect QStyle::visualRect(Qt::LayoutDirection direction, const QRect &boundingRectangle, const QRect &logicalRectangle)

지정된 ` logicalRectangle `를, 지정된 ` direction`를 기준으로 화면 좌표로 변환하여 반환합니다. 변환을 수행할 때 ` boundingRectangle `가 사용됩니다.

이 함수는 오른쪽에서 왼쪽으로 글자가 쓰이는 데스크톱을 지원하기 위해 제공되며, 일반적으로 ` subControlRect()` 함수를 구현할 때 사용됩니다.

QWidget::layoutDirection도 참조하십시오 .

© 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.