이 페이지에서

QSvgWidget Class

QSvgWidget 클래스는 스케일러블 벡터 그래픽스(SVG) 파일의 내용을 표시하는 데 사용되는 위젯을 제공합니다. 더 보기...

헤더: #include <qsvgwidget.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS SvgWidgets)
target_link_libraries(mytarget PRIVATE Qt6::SvgWidgets)
qmake: QT += svgwidgets
상속: QWidget

공개 함수

QSvgWidget(QWidget *parent = nullptr)
QSvgWidget(const QString &file, QWidget *parent = nullptr)
virtual ~QSvgWidget()
(since 6.7) QtSvg::Options options() const
QSvgRenderer *renderer() const
(since 6.7) void setOptions(QtSvg::Options options)

재구현된 공용 함수

virtual QSize sizeHint() const override

공개 슬롯

void load(const QByteArray &contents)
void load(const QString &file)

재구현된 보호 함수

virtual void paintEvent(QPaintEvent *event) override

상세 설명

이 클래스를 사용하면 개발자가 표준 위젯과 함께 SVG 그림을 표시할 수 있으며, 텍스트 및 비트맵 이미지를 표시하기 위해 ` QLabel `를 사용하는 방식과 거의 동일하게 사용됩니다.

QSvgWidget은 Q QWidget 의 서브클래스이므로, SVG 그림은 디스플레이의 속성을 사용하여 렌더링됩니다. QSvgRenderer 클래스를 사용하면 렌더링 과정을 더 세밀하게 제어할 수 있는데, 이는 QImage 및 QGLWidget과 같은 다른 페인트 장치에 그리기 위해 사용할 수 있기 때문입니다. 위젯에서 사용하는 렌더러는 renderer() 함수를 통해 얻을 수 있습니다.

각 QSvgWidget은 SVG 파일의 파일 이름을 사용하여 생성할 수 있으며, 렌더링할 특정 파일 없이 생성한 후 나중에 파일을 지정할 수도 있습니다. load() 함수는 SVG 파일을 불러오는 두 가지 방법을 제공합니다. 이 함수는 SVG 파일의 파일 이름이나, SVG 파일의 직렬화된 XML 표현이 포함된 QByteArray 를 인수로 받아들입니다.

기본적으로 위젯은 표시되는 그림의 크기를 반영하는 크기 힌트를 제공합니다. 데이터가 로드되지 않은 경우, 위젯은 기본 QWidget 크기 힌트를 제공합니다. 이 동작을 사용자 정의해야 하는 경우, 이 클래스를 상속받아 sizeHint() 메서드를 재구현하십시오.

QSvgRenderer, Qt SVG C++ Classes, 및 QPicture 을 참조하십시오.

멤버 함수 문서

QSvgWidget::QSvgWidget(QWidget *parent = nullptr)

지정된 ` parent`을 사용하여 새로운 SVG 디스플레이 위젯을 생성합니다.

QSvgWidget::QSvgWidget(const QString &file, QWidget *parent = nullptr)

지정된 ` parent `을 사용하여 새로운 SVG 표시 위젯을 생성하고, 지정된 ` file`의 내용을 불러옵니다.

[virtual noexcept] QSvgWidget::~QSvgWidget()

위젯을 삭제합니다.

[slot] void QSvgWidget::load(const QByteArray &contents)

지정된 SVG 형식 contents 을 불러와 위젯을 업데이트합니다.

참고: 이 슬롯은 오버로드되어 있습니다. 이 슬롯에 연결하려면:

// Connect using qOverload:
connect(sender, &SenderClass::signal,
        svgWidget, qOverload(&QSvgWidget::load));

// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
        svgWidget, [receiver = svgWidget](const QByteArray &contents) { receiver->load(contents); });
더 많은 예제와 방법에 대해서는 오버로드된 슬롯에 연결하기를 참조하십시오.

[slot] void QSvgWidget::load(const QString &file)

지정된 SVG file 의 내용을 불러와 위젯을 업데이트합니다.

참고: 이 슬롯은 오버로드되어 있습니다. 이 슬롯에 연결하려면:

// Connect using qOverload:
connect(sender, &SenderClass::signal,
        svgWidget, qOverload(&QSvgWidget::load));

// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
        svgWidget, [receiver = svgWidget](const QString &file) { receiver->load(file); });
더 많은 예제와 방법에 대해서는 오버로드된 슬롯에 연결하기를 참조하십시오.

[since 6.7] QtSvg::Options QSvgWidget::options() const

위젯 렌더러의 옵션을 반환합니다.

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

setOptions도 참조하십시오 .

[override virtual protected] void QSvgWidget::paintEvent(QPaintEvent *event)

QWidget::paintEvent(QPaintEvent *event)를 재구현합니다.

QSvgRenderer *QSvgWidget::renderer() const

위젯의 내용을 표시하는 데 사용되는 렌더러를 반환합니다.

[since 6.7] void QSvgWidget::setOptions(QtSvg::Options options)

위젯의 렌더러 옵션을 ` options`로 설정합니다.

이 속성은 SVG 파일의 파싱 및 렌더링과 관련된 다양한 기능을 활성화하거나 비활성화하는 데 사용할 수 있는 일련의 QtSvg::Option 플래그를 포함합니다. 이 속성이 효과를 발휘하려면 load 함수를 호출하기 전에 설정해야 합니다.

기본적으로 플래그는 설정되어 있지 않습니다.

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

options도 참조하십시오 .

[override virtual] QSize QSvgWidget::sizeHint() const

QWidget::sizeHint 속성에 대한 액세스 함수를 재구현합니다.

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