QWebEngineFrame Class
QWebEngineFrame 클래스는 페이지 프레임에 대한 정보와 제어 기능을 제공합니다. 더 보기...
Header: | #include <QWebEngineFrame> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS WebEngineCore) target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore) |
qmake: | QT += webenginecore |
이후: | Qt 6.8 |
QML에서: | webEngineFrame |
공용 함수
QList<QWebEngineFrame> | children() const |
QString | htmlName() const |
bool | isMainFrame() const |
bool | isValid() const |
QString | name() const |
void | printToPdf(const QString &filePath) |
void | printToPdf(const std::function<void (const QByteArray &)> &callback) |
void | runJavaScript(const QString &script, const std::function<void (const QVariant &)> &callback) |
void | runJavaScript(const QString &script, quint32 worldId = 0) |
void | runJavaScript(const QString &script, quint32 worldId, const std::function<void (const QVariant &)> &callback) |
QSizeF | size() const |
QUrl | url() const |
관련 비회원
bool | operator!=(const QWebEngineFrame &left, const QWebEngineFrame &right) |
bool | operator==(const QWebEngineFrame &left, const QWebEngineFrame &right) |
상세 설명
웹 엔진 프레임은 <frame>
또는 <iframe>
HTML 요소에 의해 생성된 프레임과 같이 웹 페이지 내의 단일 프레임을 나타냅니다. 활성 QWebEnginePage 에는 트리 구조로 배열된 하나 이상의 프레임이 있습니다. 이 트리의 루트인 최상위 프레임은 mainFrame() 메서드를 통해 액세스할 수 있으며 children()는 프레임의 직계 자손을 제공합니다.
프레임의 수명은 기껏해야 해당 프레임을 생성한 QWebEnginePage 객체만큼 길어야 합니다. 그러나 프레임은 탐색 및 스크립트 실행 등을 통해 자발적이고 동적으로 생성 및 삭제될 수 있습니다. 이 때문에 많은 QWebEngineFrame 메서드는 선택적 값을 반환하며, 프레임이 더 이상 존재하지 않는 경우 std::nullopt
이 됩니다.
멤버 함수 문서
void QWebEngineFrame::runJavaScript(const QString &script, const std::function<void (const QVariant &)> &callback)
[invokable]
void QWebEngineFrame::runJavaScript(const QString &script, quint32 worldId = 0)
void QWebEngineFrame::runJavaScript(const QString &script, quint32 worldId, const std::function<void (const QVariant &)> &callback)
페이지의 DOM이 구성되었는지 여부를 확인하지 않고 이 프레임에서 script 에 포함된 자바스크립트 코드를 실행합니다. 페이지에서 실행되는 다른 스크립트와의 충돌을 피하기 위해 스크립트가 실행되는 세계는 worldId 로 지정됩니다. 월드 ID 값은 QWebEngineScript::ScriptWorldId 에서 제공하는 것과 동일하며 0
과 256
사이입니다. world
ID를 생략하면 스크립트는 MainWorld
에서 실행됩니다. 스크립트가 실행되면 마지막으로 실행된 문 결과를 가지고 callback 이 호출됩니다. callback
은 함수 포인터, 함수자 또는 람다 중 하나이며 QVariant 매개 변수를 가져와야 합니다. 예를 들어
JavaScript에서 결과 값으로 일반 데이터만 반환할 수 있습니다. 지원되는 데이터 유형에는 모든 JSON 데이터 유형은 물론 Date
및 ArrayBuffer
과 같은 데이터 유형이 포함됩니다. 지원되지 않는 데이터 유형에는 Function
및 Promise
이 포함됩니다.
경고: 콜백 함수에서 긴 루틴을 실행하면 웹 엔진 페이지의 렌더링이 차단될 수 있으므로 실행하지 마세요.
경고: callback 함수는 항상 호출되지만 페이지가 삭제되는 동안 호출될 수 있습니다. QWebEnginePage 가 삭제되면 잘못된 값으로 콜백이 트리거되며 그 안에 해당하는 QWebEnginePage 또는 QWebEngineView 인스턴스를 사용하는 것은 안전하지 않습니다.
QWebEngineScript::ScriptWorldId, QWebEnginePage::runJavaScript, 스크립트 인젝션도참조하세요 .
QList<QWebEngineFrame> QWebEngineFrame::children() const
프레임의 자식 목록을 임의의 순서로 반환합니다.
프레임을 찾을 수 없으면 빈 목록을 반환합니다.
QString QWebEngineFrame::htmlName() const
프레임의 name
HTML 속성 값을 반환하거나 속성이 없는 경우 빈 문자열을 반환합니다.
프레임을 찾을 수 없는 경우 null QString 을 반환합니다.
참고: htmlName 속성에 대한 게터 함수입니다.
name 를참조하세요 .
bool QWebEngineFrame::isMainFrame() const
이 객체가 페이지의 메인 프레임을 나타내는 경우 true
, 그렇지 않으면 false
을 반환합니다.
참고: isMainFrame 속성에 대한 게터 함수.
bool QWebEngineFrame::isValid() const
이 객체가 기존 프레임을 나타내는 경우 true
, 그렇지 않으면 false
을 반환합니다.
프레임이 유효하지 않으면 다시는 유효하지 않습니다.
참고: isValid 속성에 대한 게터 함수.
QString QWebEngineFrame::name() const
프레임 이름, 즉 자바스크립트에서 window.name
에 의해 반환되는 것을 반환합니다.
프레임을 찾을 수 없는 경우 null QString 을 반환합니다.
참고: 속성 이름에 대한 게터 함수입니다.
htmlName 를참조하세요 .
[invokable]
void QWebEngineFrame::printToPdf(const QString &filePath)
프레임의 현재 콘텐츠를 PDF 문서로 렌더링하여 filePath 에 지정된 위치에 저장합니다. 인쇄는 A4 페이지 크기, 세로 레이아웃을 사용하며 전체 페이지를 포함합니다.
이 메서드는 웹 페이지를 PDF로 인쇄하기 위한 비동기 요청을 발행하고 즉시 반환합니다. 요청 결과에 대한 알림을 받으려면 QWebEnginePage::pdfPrintingFinished() 신호에 연결하세요.
참고: QWebEnginePage::Stop 웹 액션을 사용하여 이 비동기 작업을 중단할 수 있습니다.
제공된 파일 경로에 파일이 이미 있는 경우 덮어쓰기됩니다.
참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.
QWebEnginePage::pdfPrintingFinished()도 참조하세요 .
void QWebEngineFrame::printToPdf(const std::function<void (const QByteArray &)> &callback)
프레임의 현재 콘텐츠를 PDF 문서로 렌더링하고 PDF 데이터가 포함된 바이트 배열을 callback 에 파라미터로 반환합니다. 인쇄는 A4 페이지 크기, 세로 레이아웃을 사용하며 전체 페이지 범위를 포함합니다.
callback 은 QByteArray 에 대한 상수 참조를 매개변수로 가져와야 합니다. 인쇄에 성공하면 이 바이트 배열에 PDF 데이터가 포함되며, 그렇지 않으면 바이트 배열이 비어 있습니다.
참고: QWebEnginePage::Stop 웹 액션을 사용하여 이 작업을 중단할 수 있습니다.
QSizeF QWebEngineFrame::size() const
뷰포트 내 프레임의 크기를 반환합니다.
프레임을 찾을 수 없는 경우 QSizeF()를 반환합니다.
참고: 프로퍼티 크기를 가져오는 함수입니다.
QUrl QWebEngineFrame::url() const
현재 이 프레임에 로드된 콘텐츠의 URL을 반환합니다.
프레임을 찾을 수 없는 경우 빈 QUrl 을 반환합니다.
참고: 속성 URL에 대한 게터 함수입니다.
관련 비회원
[noexcept]
bool operator!=(const QWebEngineFrame &left, const QWebEngineFrame &right)
left 과 right 이 동일한 웹 페이지에서 서로 다른 프레임을 나타내는 경우 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
[noexcept]
bool operator==(const QWebEngineFrame &left, const QWebEngineFrame &right)
left 과 right 이 동일한 웹 페이지에서 동일한 프레임을 나타내면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
© 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.