이 페이지에서

WaylandCompositor QML Type (Uncreatable)

Wayland 디스플레이 서버를 관리합니다. 더 보기...

Import Statement: import QtWayland.Compositor
In C++: QWaylandCompositor

참고: 이 타입은 생성할 수 없습니다. QML에서 인스턴스화할 수 없습니다.

속성

신호

방법

상세 설명

WaylandCompositor는 클라이언트와의 연결은 물론, 다양한 outputs 및 seats 에 대한 연결도 관리합니다.

일반적으로 컴포지터 애플리케이션은 단일 WaylandCompositor 인스턴스를 가지며, 이 인스턴스는 여러 개의 출력을 자식 노드로 가질 수 있습니다. 클라이언트가 컴포지터에 서피스 생성을 요청하면, 해당 요청은 onSurfaceRequested 핸들러에 의해 처리됩니다.

컴포지터에서 지원하는 확장 기능은 인스턴스화하여 extensions 속성에 추가하거나, 단순히 WaylandCompositor의 직접 자식으로 추가해야 합니다.

속성 문서

additionalShmFormats : list<enum> [since 6.0]

이 속성은 컴포지터가 지원한다고 공표한 추가적인 wl_shm 형식 목록을 담고 있습니다.

기본적으로 필수 형식인 ShmFormat_ARGB8888 및 ShmFormat_XRGB8888만 나열되며, 이 목록은 비어 있습니다. 추가 형식의 경우 내부적으로 변환이 필요할 수 있으므로 성능에 영향을 미칠 수 있습니다.

이 속성은 컴포지터 컴포넌트가 완성되기 전에 설정되어야 합니다. 그 이후에 변경해도 효과가 없습니다.

이 속성은 Qt 6.0에서 도입되었습니다.

created : bool [read-only]

WaylandCompositor 가 초기화된 경우 이 속성은 true이며, 그렇지 않은 경우 false입니다.

defaultOutput : WaylandOutput

이 속성은 WaylandCompositor 에 추가된 출력 목록의 첫 번째 항목을 포함하며, 출력이 추가되지 않은 경우에는 null을 반환합니다.

새로운 기본 출력을 설정하면 해당 출력이 출력 목록의 맨 앞에 추가되어 새로운 기본값이 되지만, 이전 기본값은 목록에서 제거되지 않습니다.

defaultSeat : WaylandSeat [read-only]

이 속성에는 이 WaylandCompositor 의 기본 좌석이 포함되어 있습니다.

extensions : list

컴포지터가 클라이언트에 알리는 확장 기능 목록입니다. 컴포지터가 지원해야 하는 모든 Wayland 확장 기능에 대해, 해당 컴포지터는 해당 구성 요소를 인스턴스화하고 확장 기능 목록에 추가해야 합니다. 그러나 모든 직접 자식 항목이 이 속성에 자동으로 할당되므로, 일반적으로 이 속성을 명시적으로 참조할 필요는 없습니다.

예를 들어, 다음 코드를 사용하면 클라이언트가 ` xdg_shell ` 인터페이스를 통해 컴포지터에서 ` xdg_shell ` 서페이스를 요청할 수 있습니다.

import QtWayland.Compositor
import QtWayland.Compositor.XdgShell

WaylandCompositor {
    XdgShell {
        // ...
    }
}

retainedSelection : bool [default: false]

이 속성은 컴포지터가 클립보드 선택 데이터의 사본을 유지할지 여부를 제어합니다. ` true`로 설정된 경우, 컴포지터는 소유 클라이언트로부터 모든 클립보드 데이터를 즉시 읽어와 캐시에 저장합니다. 이로 인해 성능 저하가 발생합니다.

socketName : string

이 속성은 WaylandCompositor 가 클라이언트와 통신하는 데 사용하는 소켓 이름을 저장합니다. 이 속성은 컴포넌트가 완성되기 전에 설정되어야 합니다.

socketName이 비어 있는 경우(기본값), 대신 --wayland-socket-name 의 start 인자 내용이 사용됩니다. 인자가 설정되지 않은 경우, 컴포지터는 소켓 이름을 찾으려고 시도하며, 기본값은 wayland-0 입니다.

useHardwareIntegrationExtension : bool [default: true]

이 속성은 해당 WaylandCompositor 에 대해 하드웨어 통합 확장을 활성화할지 여부를 지정합니다.

이 속성은 컴포지터 컴포넌트가 완료되기 전에 설정되어야 합니다.

Signal 문서

void surfaceCreated(WaylandSurface surface)

이 신호는 새로운 WaylandSurface 인스턴스 surface 가 생성되었을 때 발생합니다.

참고: 해당 핸들러는 onSurfaceCreated 입니다.

void surfaceRequested(WaylandClient client, int id, int version)

이 신호는 client 가 ID가 id 인 서페이스를 생성했을 때 발송됩니다. version 인터페이스도 사용할 수 있습니다.

이 신호에 연결된 슬롯은 슬롯의 범위 내에서 WaylandSurface 인스턴스를 생성하고 초기화할 수 있습니다. 그렇지 않으면 기본 서페이스가 생성됩니다.

참고: 해당 핸들러는 onSurfaceRequested 입니다.

메서드 문서

void addSocketDescriptor(fd)

이미 바인딩되어 수신 대기 중인 서버 소켓을 참조하는 파일 디스크립터 fd 에서 클라이언트 연결을 수신 대기합니다.

이 메서드는 파일 디스크립터의 소유권을 인수하지 않으므로, 필요한 경우 명시적으로 닫아야 합니다.

참고: 이 메서드는 libwayland 1.10.0 이상에서만 사용할 수 있습니다. 이전 버전의 libwayland 런타임을 사용하여 빌드한 경우, 이 메서드는 아무 작업도 수행하지 않습니다.

void destroyClient(client)

컴포지터 측에서, 지정된 WaylandClient client 과의 연결을 끊어 해당 객체를 파기합니다.

void destroyClientForSurface(surface)

컴포지터 측에서는 WaylandSurface surface 에 속한 클라이언트와의 연결을 끊음으로써 해당 클라이언트를 삭제합니다.

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