QPaintDeviceWindow Class
QWindow 의 편의를 위한 하위 클래스로, 동시에 QPaintDevice 이기도 합니다. 더 보기...
| 헤더: | #include <QPaintDeviceWindow> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| 상속: | QWindow 그리고 QPaintDevice |
| 상속받는 항목: |
공개 함수
공개 슬롯
| void | update() |
재구현된 보호 함수
| virtual void | paintEvent(QPaintEvent *event) override |
상세 설명
QPaintDeviceWindow는 일반 QWindow 와 유사하지만, 페인트 장치로서의 기능이 추가된 클래스입니다. 콘텐츠가 업데이트되어야 할 때마다 가상 함수 ` paintEvent()`가 호출됩니다. 이 함수를 재구현하는 하위 클래스는 해당 창에서 ` QPainter `를 간단히 열 수 있습니다.
참고: 이 클래스는 애플리케이션에서 직접 사용할 수 없습니다. 오히려 QOpenGLWindow 와 같은 하위 클래스의 기반 역할을 합니다.
QOpenGLWindow도 참조하십시오 .
멤버 함수 설명서
[override virtual protected] void QPaintDeviceWindow::paintEvent(QPaintEvent *event)
QWindow::paintEvent(QPaintEvent *ev)를 재구현합니다.
event 매개변수를 통해 전달된 페인트 이벤트를 처리합니다.
기본 구현은 아무 작업도 수행하지 않습니다. 페인팅 작업을 수행하려면 이 함수를 재구현하십시오. 필요한 경우, event 에서 변경된 영역을 가져올 수 있습니다.
[slot] void QPaintDeviceWindow::update()
전체 창을 변경된 상태로 표시하고 다시 그리기를 예약합니다.
참고: 다음 페인트 이벤트가 발생하기 전에 이 함수를다시 호출하더라도 무시됩니다.
참고: 노출되지 않은 창의경우 , 창이 다시 노출될 때까지 업데이트가 연기됩니다.
참고: 이 슬롯은 오버로드되어 있습니다. 이 슬롯에 연결하려면:
// Connect using qOverload:
connect(sender, &SenderClass::signal,
paintDeviceWindow, qOverload<>(&QPaintDeviceWindow::update));
// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
paintDeviceWindow, [receiver = paintDeviceWindow]() { receiver->update(); });void QPaintDeviceWindow::update(const QRect &rect)
창의 rect 를 변경된 상태로 표시하고 다시 그리기를 예약합니다.
참고: 다음 페인트 이벤트가 발생하기 전까지 이 함수를다시 호출하더라도 호출 내용은 무시되지만, ` rect `는 업데이트 대상 영역에 추가됩니다.
참고: 노출되지 않은 창의경우 , 창이 다시 노출될 때까지 업데이트가 보류됩니다.
void QPaintDeviceWindow::update(const QRegion ®ion)
창의 region 를 변경된 상태로 표시하고 다시 그리기를 예약합니다.
참고: 다음 페인트 이벤트가 발생하기 전에 이 함수를다시 호출하더라도 호출은 무시되지만, ` region `는 업데이트 대상 영역에 추가됩니다.
참고: 노출되지 않은 창의경우 , 업데이트는 창이 다시 노출될 때까지 연기됩니다.
© 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.