변경 사항 Qt WebEngine

Qt 6는 프레임워크를 보다 효율적이고 사용하기 쉽게 만들기 위한 의식적인 노력의 결과입니다.

각 릴리스에서 모든 공개 API에 대해 바이너리 및 소스 호환성을 유지하려고 노력합니다. 그러나 Qt를 더 나은 프레임워크로 만들기 위해 몇 가지 변경이 불가피했습니다.

이 항목에서는 이러한 변경 사항을 요약하고( WebEngine), 이를 처리하기 위한 지침을 제공합니다.

이동된 클래스

Qt WebEngine 모듈

슈퍼 모듈의 이름과 충돌하지 않고 다른 Quick 모듈과 일관성을 유지하기 위해 Qt WebEngineQuick 모듈로 이름이 변경되었습니다.

Qt Quick 애플리케이션을 포팅하는 경우, qmake 프로젝트 파일에 새 모듈 이름을 사용해야 합니다.

QT += webenginequick

Qt WebEngineWidgets에서 Qt WebEngineCore로 이동된 클래스들

몇몇 클래스가 Widgets 모듈을 사용하지 않는 경우 Qt WebEngineWidgets에서 Qt WebEngineCore로 이동되었습니다. 대부분의 경우 이 변경 사항은 포함 헤더에 모듈 이름을 포함하지 않는 한 소스 호환이 가능하지만, 이 경우 포함을 업데이트해야 합니다.

최소한의 변경으로 이동된 클래스

QWebEngineCertificateError

QML과 C++ 버전 간에 통합되었으므로 이제 클래스의 메서드를 통해 둘 다 수락 또는 거부할 수 있습니다.

QWebEngineContextMenuData

Core로 이전되고 이름이 QWebEngineContextMenuRequest 로 변경되었습니다.

QWebEngineDownloadItem

Core로 이전되고 이름이 QWebEngineDownloadRequest 로 변경되었습니다.

QWebEnginePage

Core로 이전되었으며 QWebEngineView 또는 QPrinter 에서 작동하던 API가 이전되어 이제 QWebEngineView 에서만 액세스할 수 있습니다. 변경된 API를 참조하세요.

Qt WebEngineQuick에서 Qt WebEngineCore로 이동된 클래스

WebEngineNavigationRequest

는 이제 QWebEngineNavigationRequest 이며 C++ API에서도 액세스할 수 있으며 QWebEnginePage::acceptNavigationRequest()의 더 많은 정보를 제공하는 변형을 추가했습니다.

WebEngineNewViewRequest

이제 WebEngineNewWindowRequestQWebEngineNewWindowRequest 이며, C++ API에서도 QWebEnginePage::createWindow()의 더 많은 정보를 제공하는 변형을 추가하여 액세스할 수 있습니다.

변경된 API

C++

QWebEnginePage::인증서 오류()

는 이제 파생 메서드가 아닌 신호입니다. 오류는 QWebEngineCertificateError 클래스의 메서드를 통해 수락되거나 거부됩니다.

QWebEnginePage::print()

QWebEngineView::print()로 이전되었으며 더 이상 콜백 인수를 받지 않고 대신 QWebEngineView::printFinished()로 완료된 신호를 보냅니다. 동시에 두 개의 활성 인쇄 작업을 가질 수 없었습니다.

QWebEnginePage::view()

QWebEnginePageQWebEngineView 이 이제 다른 모듈에 있으므로 제거되었습니다. 페이지와 연결된 보기는 정적 헬퍼 QWebEngineView::forPage()를 사용하여 액세스할 수 있습니다.

QWebEngineProfile::defaultProfile()

가 제거되었습니다. 기본 프로필은 이제 오프더레코드 프로필이며, 명시적인 프로필 없이 QWebEnginePage 이 생성된 경우에만 사용됩니다. Qt 5와 같은 동작을 유지하려면 "Default"라는 전역 프로파일을 생성하고 모든 QWebEnginePage.

QML

웹엔진 내비게이션 요청

탐색 요청은 이제 accept() 또는 reject() 메서드를 사용하여 다른 요청 객체처럼 수락되거나 거부됩니다.

WebEngineNewViewRequest

의 이름이 WebEngineNewWindowRequest 으로 변경되었습니다.

변경된 동작

기본 프로필

기본 프로필은 이제 기록에서 제외됩니다. 디스크 캐시 및 쿠키가 포함된 표준 브라우저 프로필을 사용하려면 자신만의 프로필을 만들어 명시적으로 사용하는 것이 좋습니다.

QRC 체계

더 이상 기본적으로 사용자 지정 스키마에서 액세스할 수 없으며 로컬 콘텐츠에 직접 액세스할 수 없습니다. Qt 5 동작이 필요한 경우 사용자 지정 URL 스키마처럼 qrc 스키마를 등록하고 CorsEnabled 및 LocalAccessAllowed 액세스 플래그를 설정하여 복원할 수 있습니다.

QWebEngineUrlScheme qrcScheme(QByteArrayLiteral("qrc"));
qrcScheme.setFlags(QWebEngineUrlScheme::SecureScheme
                   | QWebEngineUrlScheme::LocalAccessAllowed
                   | QWebEngineUrlScheme::CorsEnabled
                   | QWebEngineUrlScheme::ViewSourceAllowed);
QWebEngineUrlScheme::registerScheme(qrcScheme);

OCSP 인증서 해지 확인

Qt 5에서는 Linux에서 QWebEngineProfile::setUseForGlobalCertificateVerification(true)을 사용하여 QWebEngineProfile 에서 OCSP를 활성화할 수 있었습니다. 이 특정 형태의 OCSP가 불량으로 간주되어 Qt6에서는 제거되었습니다. Qt 6.2 현재, Linux에서 해지된 인증서를 검사하는 새로운 메서드는 아직 추가되지 않았습니다.

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