QQuickView Class

QQuickView 클래스는 Qt Quick 사용자 인터페이스를 표시하는 창을 제공합니다. 더 보기...

헤더: #include <QQuickView>
CMake: find_package(Qt6 REQUIRED COMPONENTS Quick)
target_link_libraries(mytarget PRIVATE Qt6::Quick)
qmake: QT += quick
상속합니다: QQuickWindow

공용 유형

enum ResizeMode { SizeViewToRootObject, SizeRootObjectToView }
enum Status { Null, Ready, Loading, Error }

속성

공용 기능

QQuickView(QWindow *parent = nullptr)
QQuickView(QQmlEngine *engine, QWindow *parent)
QQuickView(const QUrl &source, QWindow *parent = nullptr)
(since 6.7) QQuickView(QAnyStringView uri, QAnyStringView typeName, QWindow *parent = nullptr)
virtual ~QQuickView() override
QQmlEngine *engine() const
QList<QQmlError> errors() const
QSize initialSize() const
QQuickView::ResizeMode resizeMode() const
QQmlContext *rootContext() const
QQuickItem *rootObject() const
void setResizeMode(QQuickView::ResizeMode)
QUrl source() const
QQuickView::Status status() const

공용 슬롯

(since 6.7) void loadFromModule(QAnyStringView uri, QAnyStringView typeName)
void setInitialProperties(const QVariantMap &initialProperties)
void setSource(const QUrl &url)

신호

void statusChanged(QQuickView::Status status)

재구현된 보호 기능

virtual void keyPressEvent(QKeyEvent *e) override
virtual void keyReleaseEvent(QKeyEvent *e) override
virtual void mouseMoveEvent(QMouseEvent *e) override
virtual void mousePressEvent(QMouseEvent *e) override
virtual void mouseReleaseEvent(QMouseEvent *e) override

상세 설명

메인 소스 파일의 URL이 주어지면 자동으로 QML 장면을 로드하고 표시하는 QQuickWindow 의 편리한 서브클래스입니다. 또는 QQmlComponent 을 사용하여 자체 객체를 인스턴스화하고 수동으로 설정한 QQuickWindow 에 배치할 수 있습니다.

일반적인 사용법:

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    QQuickView *view = new QQuickView;
    view->setSource(QUrl::fromLocalFile("myqmlfile.qml"));
    view->show();
    return app.exec();
}

QQuickView로 QML 로드 및 실행과 관련된 오류를 받으려면 statusChanged() 신호에 연결하여 QQuickView::Error 을 모니터링할 수 있습니다. 오류는 QQuickView::errors()를 통해 확인할 수 있습니다.

QQuickView는 뷰 및 루트 개체의 크기 조정도 관리합니다. 기본적으로 resizeModeSizeViewToRootObject 이며, 구성 요소를 로드하고 뷰의 크기에 맞게 크기를 조정합니다. 또는 resizeModeSizeRootObjectToView 으로 설정하여 뷰의 크기를 루트 개체의 크기로 조정할 수 있습니다.

C++ 타입의 속성을 QML에 노출하기QQuickWidget참조하세요 .

멤버 유형 문서

enum QQuickView::ResizeMode

이 열거형은 뷰의 크기를 조정하는 방법을 지정합니다.

Constant설명
QQuickView::SizeViewToRootObject0뷰의 크기가 QML의 루트 항목에 따라 조정됩니다.
QQuickView::SizeRootObjectToView1뷰는 자동으로 뷰의 크기에 맞게 루트 항목의 크기를 조정합니다.

enum QQuickView::Status

QQuickView 의 로딩 상태를 지정합니다.

Constant설명
QQuickView::Null0QQuickView 에는 설정된 소스가 없습니다.
QQuickView::Ready1QQuickView 은 QML 컴포넌트를 로드하고 생성했습니다.
QQuickView::Loading2QQuickView 은 네트워크 데이터를 로드하고 있습니다.
QQuickView::Error3하나 이상의 오류가 발생했습니다. errors ()를 호출하여 오류 목록을 검색하세요.

속성 문서

resizeMode : ResizeMode

이 속성은 뷰에서 창 콘텐츠의 크기를 조정할지 여부를 나타냅니다.

이 속성을 SizeViewToRootObject (기본값)로 설정하면 뷰의 크기가 QML의 루트 항목 크기에 맞게 조정됩니다.

이 속성을 SizeRootObjectToView 으로 설정하면 뷰는 자동으로 루트 항목의 크기를 뷰 크기에 맞게 조정합니다.

함수에 액세스합니다:

QQuickView::ResizeMode resizeMode() const
void setResizeMode(QQuickView::ResizeMode)

initialSize()도 참조하십시오 .

source : QUrl

이 속성에는 QML 컴포넌트의 소스 URL이 저장됩니다.

특히 로컬 파일 시스템에서 파일을 로드할 때는 QUrl::fromLocalFile()를 사용하는 등 제공된 URL이 완전하고 올바른지 확인하세요.

소스 URL을 설정하면 URL이 현재 값에서 변경되지 않더라도 QML 컴포넌트가 인스턴스화된다는 점에 유의하세요.

함수 액세스:

QUrl source() const
void setSource(const QUrl &url)

[read-only] status : const Status

컴포넌트의 현재 status.

기능에 액세스합니다:

QQuickView::Status status() const

알림 신호:

void statusChanged(QQuickView::Status status)

멤버 함수 문서

[explicit] QQuickView::QQuickView(QWindow *parent = nullptr)

주어진 parent 으로 QQuickView를 구성합니다. parent 의 기본값은 0입니다.

QQuickView::QQuickView(QQmlEngine *engine, QWindow *parent)

주어진 QML engineparent 로 QQuickView를 생성합니다.

참고: 이 경우 QQuickView는 주어진 engine 객체를 소유하지 않으며, 엔진을 파괴하는 것은 호출자의 책임입니다. 보기 전에 engine 이 삭제되면 status() 은 QQuickView::Error 을 반환합니다.

Status, status() 및 errors()도 참조하세요 .

[explicit] QQuickView::QQuickView(const QUrl &source, QWindow *parent = nullptr)

주어진 QML sourceparent 로 QQuickView를 구축합니다. parent 의 기본값은 nullptr 입니다.

[explicit, since 6.7] QQuickView::QQuickView(QAnyStringView uri, QAnyStringView typeName, QWindow *parent = nullptr)

uritypeName 으로 지정된 요소와 부모 parent 로 QQuickView를 구성합니다. parent 의 기본값은 nullptr 입니다.

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

loadFromModule도 참조하십시오 .

[override virtual noexcept] QQuickView::~QQuickView()

QQuickView 를 파괴합니다.

QQmlEngine *QQuickView::engine() const

QML 컴포넌트를 인스턴스화하는 데 사용되는 QQmlEngine 에 대한 포인터를 반환합니다.

QList<QQmlError> QQuickView::errors() const

마지막 컴파일 또는 생성 작업 중에 발생한 오류 목록을 반환합니다. 상태가 오류가 아닌 경우 빈 목록이 반환됩니다.

QSize QQuickView::initialSize() const

루트 개체의 초기 크기를 반환합니다.

resizeMode 가 QQuickItem::SizeRootObjectToView인 경우 루트 개체의 크기가 뷰의 크기로 조정됩니다. 초기 크기에는 크기가 조정되기 전의 루트 개체의 크기가 포함됩니다.

[override virtual protected] void QQuickView::keyPressEvent(QKeyEvent *e)

다시 구현합니다: QQuickWindow::keyPressEvent(QKeyEvent *e).

[override virtual protected] void QQuickView::keyReleaseEvent(QKeyEvent *e)

다시 구현합니다: QQuickWindow::keyReleaseEvent(QKeyEvent *e).

[slot, since 6.7] void QQuickView::loadFromModule(QAnyStringView uri, QAnyStringView typeName)

uritypeName 으로 식별되는 QML 컴포넌트를 로드합니다. 컴포넌트가 QML 파일로 뒷받침되는 경우 source 이 적절하게 설정됩니다. C++ 에 정의된 유형의 경우 source 은 비어 있습니다.

이 메서드가 호출되기 전에 source 이 설정되어 있으면 지워집니다.

동일한 uritypeName 로 이 메서드를 여러 번 호출하면 QML 컴포넌트가 다시 인스턴스화됩니다.

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

setSource, QQmlComponent::loadFromModule, QQmlApplicationEngine::loadFromModule참조하십시오 .

[override virtual protected] void QQuickView::mouseMoveEvent(QMouseEvent *e)

다시 구현합니다: QQuickWindow::mouseMoveEvent(QMouseEvent * 이벤트).

[override virtual protected] void QQuickView::mousePressEvent(QMouseEvent *e)

다시 구현합니다: QQuickWindow::mousePressEvent(QMouseEvent * 이벤트).

[override virtual protected] void QQuickView::mouseReleaseEvent(QMouseEvent *e)

다시 구현합니다: QQuickWindow::mouseReleaseEvent(QMouseEvent * 이벤트).

QQmlContext *QQuickView::rootContext() const

이 함수는 컨텍스트 계층 구조의 루트를 반환합니다. 각 QML 컴포넌트는 QQmlContext 에서 인스턴스화됩니다. QQmlContext 은 QML 컴포넌트에 데이터를 전달하는 데 필수적입니다. QML에서 컨텍스트는 계층적으로 배열되며 이 계층 구조는 QQmlEngine 에서 관리합니다.

QQuickItem *QQuickView::rootObject() const

뷰의 루트를 반환합니다 item.

[slot] void QQuickView::setInitialProperties(const QVariantMap &initialProperties)

QQuickView::setSource()을 호출한 후 QML 컴포넌트가 초기화되는 초기 속성 initialProperties 을 설정합니다.

    QScopedPointer<QQuickView> view { new QQuickView };
    view->setInitialProperties({"x, 100"}, {"width", 50});
    view->setSource(QUrl::fromLocalFile("myqmlfile.qml"));
    view->show();

참고: 이 함수는 최상위 프로퍼티를 초기화할 때만 사용할 수 있습니다.

참고: 이 함수는 컴포넌트가 Ready 이 되면 아무런 효과가 없으므로 항상 setSource 전에 호출해야 합니다.

QQmlComponent::createWithInitialProperties()도 참조하세요 .

[slot] void QQuickView::setSource(const QUrl &url)

소스를 url 로 설정하고 QML 컴포넌트를 로드하고 인스턴스화합니다.

특히 로컬 파일 시스템에서 파일을 로드할 때는 QUrl::fromLocalFile()를 사용하는 등 제공된 URL이 완전하고 올바른지 확인하세요.

동일한 URL로 이 메서드를 여러 번 호출하면 QML 컴포넌트가 다시 인스턴스화됩니다.

참고: 속성에 대한 설정자 함수 source.

source()도 참조하세요 .

QUrl QQuickView::source() const

설정된 경우 소스 URL을 반환합니다.

참고: 속성 소스에 대한 게터 함수입니다.

setSource()도 참조하세요 .

[signal] void QQuickView::statusChanged(QQuickView::Status status)

이 신호는 컴포넌트의 현재 status 가 변경될 때 발생합니다.

참고: 프로퍼티 status 에 대한 알림 신호입니다.

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