Qt 6.5의 새로운 기능

Qt 6.5의 신규 및 복원된 모듈

Qt 6.5에는 다음과 같은 모듈과 도구가 추가되었습니다:

  • Qt Quick Effect Maker - Qt Quick 를 위한 고성능 셰이더 효과를 만드는 도구.
  • Qt Quick Effects - Qt Quick Item 에 하나 이상의 간단한 그래픽 효과를 적용하기 위한 MultiEffect 을 포함하는 모듈.
  • Qt Quick 3D Physics - Qt Quick 3D 와 함께 사용하기 위한 물리 엔진. 이 모듈은 더 이상 기술 미리보기가 제공되지 않습니다.
  • Qt Qml Core - 다양한 Qt Core API를 노출하는 모듈입니다.

테크니컬 프리뷰의 신규 및 복원된 모듈

참고: API 및 ABI 안정성은 보장되지 않습니다.

  • Qt LocationMap 는 2D 지도를 Qt Quick 애플리케이션으로 렌더링합니다. MapViewQt Quick 입력 핸들러를 포함하여 일반적인 대화형 기능(확대/축소, 이동, 기울이기)을 구현합니다.
  • Qt GRPC protobuf .proto 사양의 서비스 설명을 기반으로 생성된 클래스를 사용하여 gRPC 서비스와의 통신을 지원합니다.
  • Qt Protobuf .proto-specifications에서 Qt 기반 클래스의 생성, 직렬화 및 역직렬화를 지원합니다.

Qt 6.5의 새로운 기능

Qt Core 모듈

  • QTimeZone 이제 QTimeZone 또는 Qt::TimeSpec 와 오프셋을 취하는 QDateTimeQDate 의 다양한 API를 통합하는 경량 시간 표현으로 Qt::TimeSpec 와 오프셋을 패키징할 수 있습니다.
  • 애플리케이션이 사용하기 전에 사용자 동의가 필요한 기능에 대한 권한을 확인하거나 요청할 수 있도록 애플리케이션 권한 API를 도입했습니다.
  • 공통 추적 형식(CTF)의 새로운 크로스 플랫폼 추적 백엔드.
  • QBindable 이제 NOTIFY 신호가 있는 모든 프로퍼티에서 구성할 수 있습니다. 이를 통해 바인딩할 수 없는 기존 프로퍼티를 바인딩 가능한 프로퍼티와 통합할 수 있습니다.
  • qt_generate_deploy_app_script CMake 함수는 이제 OUTPUT_SCRIPT라는 인수를 가급적 받아들입니다. 이전 파일명_변수 전달은 더 이상 사용되지 않습니다.

Qt GUI 모듈

  • Windows, macOS 및 iOS에서 플랫폼별 형식의 드래그 앤 드롭 및 클립보드 데이터를 처리하기 위한 QWindowsMimeConverterQUtiMimeConverter 클래스를 다시 도입했습니다.
  • QVulkanInstance 이제 벌칸 포터빌리티 물리적 디바이스를 기본적으로 활성화합니다. 이는 Apple 플랫폼의 최신 MoltenVK 버전에서 작동하는 데 필요합니다. 이 기능을 해제할 수 있는 NoPortabilityDrivers 플래그를 추가했습니다.
  • 벌칸 렌더링 인프라는 이제 더 이상 사용되지 않는 VK_EXT_debug_report 및 VK_EXT_debug_marker 대신 VK_EXT_debug_utils를 사용합니다.
  • QTextLayout::glyphRuns()는 이제 요청 시 각 글리프에 해당하는 문자열 인덱스를 반환할 수 있습니다. 새로운 함수 QGlyphRun::stringIndexes()를 통해 사용할 수 있습니다.
  • 이제 변환을 포함하여 마크다운뿐만 아니라 HTML에서도 체크박스 목록 항목을 읽고 쓸 수 있습니다.
  • 읽지 않은 메시지 수 등에 대한 피드백을 사용자에게 제공하기 위해 QGuiApplication::setBadgeNumber()를 추가했습니다. 이 배지는 macOS에서는 Dock의 애플리케이션 아이콘, iOS에서는 홈 화면 아이콘 또는 Windows에서는 작업 표시줄에 오버레이됩니다.

Qt Quick 모듈

  • TableView 편집 위임자를 사용한 셀 편집이 지원됩니다.
  • TableView 마우스를 사용한 행과 열 크기 조정이 지원됩니다.
  • TableView 행과 열 크기를 명시적으로 설정하는 기능이 지원됩니다.
  • TableView 새로운 신호 layoutChanged() 가 추가되었습니다. 이 신호는 예를 들어 오버레이 항목의 위치를 변경하는 데 사용할 수 있습니다.
  • TableView 다중 선택이 지원됩니다.
  • QSGMaterial 에서 별도의 RGB 및 알파 혼합 계수를 지정하는 기능이 추가되었습니다.
  • Qt Quick 시나리오 그래프는 이제 사용 중인 플랫폼과 3D 그래픽 API에 따라 그래픽 파이프라인의 영구 디스크 기반 캐싱 또는 중간 포맷 셰이더 바이트코드를 자동으로 사용합니다. 이를 통해 애플리케이션의 후속 실행에서 그래픽 파이프라인 생성에 소요되는 시간을 줄일 수 있을 것으로 기대됩니다. 또한 QQuickGraphicsConfiguration 에서 이 데이터를 어디에서 쓰고 로드할지 명시적으로 제어할 수 있습니다. 이를 통해 애플리케이션이나 디바이스와 함께 사전 시드된 캐시 파일을 전송하는 등의 고급 사용 사례를 구현할 수 있으며, 최초 시작도 빨라집니다.
  • PinchHandler 모든 핸들러 축 그룹에 새로 추가된 activeValue 속성을 포함해 몇 가지 새로운 값을 제공하는 scaleAxisrotationAxis 그룹화된 속성이 새로 추가되었습니다. 또한 DragHandler 에 이미 있던 activeTranslationpersistentTranslation 속성도 가져왔습니다.
  • DragHandlerxAxisyAxis 에는 새로운 activeValue 속성이 있습니다.
  • PinchHandleractiveScale (이전에는 scale)는 더 이상 minimumScalemaximumScale 사이의 범위로 제한되지 않으며, 이러한 제한은 persistentScale 에만 적용됩니다. 마찬가지로 activeRotation (이전에는 rotation)는 더 이상 minimumRotationmaximumRotation 사이의 범위로 제한되지 않습니다. 이러한 제한은 터치스크린에서와 마찬가지로 기본 터치패드 핀치 제스처에도 동일하게 적용됩니다.
  • TapHandler::exclusiveSignals 이제 singleTappeddoubleTapped 신호를 독점적으로 사용할 수 있습니다.

Qt Labs 애니메이션 모듈

Qt Quick Controls Module

Qt Test 모듈

  • 테스트가 실패하거나 건너뛴 경우 참을 반환하는 QTest::currentTestResolved()가 추가되었습니다. 이 함수는 헬퍼 함수에서 반환 시 테스트하는 조건으로 QTest::currentTestFailed()를 대체할 수 있습니다.
  • QTest::mouseRelease() 및 mouseClick()는 이제 이벤트 사이의 중간 상태를 확인해야 하는 경우 현실적인 타임스탬프 지연을 지정하여 더블 클릭을 테스트하는 데 사용할 수 있습니다. mouseDClick()를 사용하는 것이 여전히 더 편리합니다.

Qt Widgets 모듈

  • QKeySequenceEdit 에 두 가지 새로운 프로퍼티가 추가되었습니다. maximumSequenceLength 는 애플리케이션이 키 시퀀스의 길이를 제어할 수 있게 해줍니다. finishingKeyCombinations 는 녹음을 종료하는 키 조합을 정의합니다.
  • QOpenGLWidget 에 스테레오스코픽 렌더링 지원이 추가되어 QOpenGLWidget 뷰포트가 지원하는 모든 QGraphicsView 에도 적용 가능합니다. QOpenGLWindow 나 Qt 5 및 4에서 지금은 제거된 QGLWidget과 달리 QOpenGLWidget 은 애플리케이션이 기본 창에 직접 렌더링하지 않으므로 QOpenGLWindow 에서와 같은 활성 그리기 버퍼를 제어할 수 없으므로 지원 API를 통해 이를 명시적으로 지원해야 합니다.

Qt Positioning 모듈

Qt Serial Bus 모듈

모든 새로운 클래스는 실험적이며 변경될 수 있습니다.

Qt Network 모듈

  • 도입 QHttp1Configuration. 이 클래스는 HTTP 1을 사용할 때 호스트당 사용되는 최대 연결 수를 구성하는 데 사용할 수 있습니다(기본값: 6).
  • QNetworkRequest 웹 어셈블리용 Qt에서 UseCredentialsAttribute 속성을 획득하여 기본 XMLHttpRequest 에 대한 withCredentials를 활성화합니다.

Qt Qml 모듈

  • QQmlApplicationEngineQQmlComponent 에 모듈 URI 및 유형명을 통해 QML 요소를 로드/생성하는 API를 추가했습니다. URL 기반 함수와 달리 C++ 타입 및 인라인 컴포넌트에서도 작동합니다.
  • QQmlListProperty 프로퍼티는 이제 배열처럼 동작하며 map(), reduce(), forEach() 등의 메서드를 지원합니다. QList <int> 등과 같은 다른 시퀀스 유형도 마찬가지입니다.
  • 번역 바인딩, 인라인 컴포넌트, 싱글톤, C++ 정의 신호용 시그널 핸들러 등 더 많은 qml 구성을 지원하도록 qmltc를 확장했습니다.
  • QML 스크립트 컴파일러는 추가 구문을 처리할 수 있습니다. 특히
    • console.log() 및 친구
    • letconst
    • qsTr() 및 친구
    • 문자열의 경우 arg()
    • 나머지 모든 비트 연산자와 시프트 연산자
    • 지수 연산자
  • 새로운 환경 변수 QML_DISK_CACHE 를 사용하여QML 디스크 캐시를 보다 세분화된 방식으로 제어할 수 있습니다.
  • 새로운 공용 CMake API가 추가되었습니다:
    • 리소스 접두사에 대한 더 나은 기본값을 설정하기 위한 Qt CMake 정책이 도입되었습니다. QTP0001 정책을 NEW 으로 설정하면 QML 엔진이 리소스 파일 시스템에서 항상 QML 모듈을 찾을 수 있습니다.
  • qt_generate_deploy_qml_app_script CMake 함수는 이제 OUTPUT_SCRIPT라는 인수를 받는 것이 바람직합니다. 이전 파일명_변수 전달은 더 이상 사용되지 않습니다.

Qt Quick 3D 모듈

  • 모델에 대한 자동 레벨 오브 디테일(LOD) 지원이 추가되었습니다. 이를 통해 에셋 임포트 중에 메시의 단순화된 버전을 생성한 다음 렌더링할 때 적절한 레벨을 자동으로 선택할 수 있습니다.
  • 카메라 거리에 따라 모델의 불투명도를 제어할 수 있는 명시적 세부 수준(LOD) 지원이 추가되었습니다.
  • 피사계 심도, 컬러 그레이딩, 글로우, 비네팅, 렌즈 플레어 등의 효과가 내장된 ExtendedSceneEnvironment 을 추가했습니다. 이러한 효과는 함께 수행되므로 각각 하나 이상의 렌더 패스가 필요한 개별적인 독립형 포스트 프로세싱 효과에 비해 효율성이 향상됩니다.
  • 렌더링 통계, 활성 메시 및 텍스처 에셋 목록, 라이브 렌더 패스 정보, 와이어프레임 모드 및 머티리얼 오버라이드와 같은 설정을 인터랙티브하게 전환하는 컨트롤이 포함된 DebugView 이 개선되었습니다( DebugSettings).
  • SceneEnvironment 을 통해 와이어프레임 모드 및 머티리얼 오버라이드와 같은 설정을 프로그래밍 방식으로 제어하여 물리 기반 머티리얼의 특정 측면만 렌더링할 수 있는 DebugSettings 을 추가했습니다.
  • 페이드 아웃 기능이 있는 수평면에 무한 그리드를 구현하는 InfiniteGrid 을 추가했습니다.
  • SceneEnvironment 을 통해 사용할 수 있는 간단한 포그 지원이 추가되었습니다. 이 기능을 활성화하면 씬에서 모델을 렌더링할 때 깊이 또는 높이 포그 효과가 적용됩니다.
  • 인스턴스 렌더링 사용 시 피킹이 개선되었습니다.
  • PrincipledMaterial 에 대한 버텍스 색상 지원이 추가되었습니다. SpecularGlossyMaterial
  • 반사 프로브: 씬을 렌더링하는 대신 제공된 큐브맵 텍스처를 사용할 수 있도록 지원이 추가되었습니다.
  • 런타임에 셰이더 소스 파일 URI의 변경에 적절히 반응하도록 포스트 프로세싱 효과가 향상되었습니다.
  • 런타임에 생성된 머티리얼 셰이더 데이터의 영구적인 디스크 기반 캐싱이 추가되었습니다. 이를 통해 애플리케이션 시작 및 뷰 변경 시간이 개선될 것으로 예상됩니다.

Qt WebView 모듈

Qt Multimedia 모듈

  • 6.4의 기술 프리뷰인 ffmpeg 미디어 백엔드가 Yocto 배포를 제외한 macOS, Windows, Android 및 Linux의 기본값이 됩니다. 기본 백엔드는 여전히 제한된 지원으로 사용할 수 있습니다.
  • 새로운 유형의 비디오 입력인 QScreenCapture 클래스를 도입했습니다. QScreenCapture 에서 QMediaCaptureSession 을 통해 QMediaRecorder 또는 QVideoWidget 과 같은 출력으로 비디오를 전송할 수 있습니다. 화면 캡처 기능은 ffmpeg 미디어 백엔드에서만 사용할 수 있습니다.

플랫폼 변경 사항

웹어셈블리

  • Qt Online Installer 에 멀티스레딩이 활성화된 바이너리 패키지가 추가되었습니다.
  • 파일 시스템 액세스 API에 대한 지원이 추가되었습니다. QFileDialog::getOpenFileContent () 및 QFileDialog::saveFileContent()와 같은 파일 대화 상자 호출은 이제 브라우저에서 지원하는 경우 이 API를 사용합니다.
  • 로컬 폰트 액세스 API에 대한 지원이 추가되었습니다. 이제 Qt는 이 API를 지원하는 브라우저에서 로컬 글꼴을 사용합니다.
  • Qt Multimedia 에 비디오 재생 및 카메라 지원의 기술 미리 보기를 추가했습니다.
  • 웹어셈블리 SIMD에 대한 구성 옵션 추가: -feature-wasm-simd128
  • WebAssembly 예외에 대한 구성 옵션을 추가했습니다: -feature-wasm-exceptions
  • 유틸리티 함수와 웹에서의 Qt 사용 예제가 포함된 Qt Web Utils를 게시했습니다.
  • QTest WebAssembly의 경우 이제 기본적으로 emrun을 사용합니다. 웹어셈블리 전용 스크립트가 자동 테스트 실행을 구동합니다.

데스크톱 플랫폼

Windows

  • 명령줄에서 시작된 GUI 애플리케이션의 콘솔 창에 stdout/stderr 메시지를 표시하도록 환경 변수 QT_WIN_DEBUG_CONSOLE을 설정할 수 있습니다. new 또는 attach 로 설정하세요.

macOS

Linux의 Wayland 클라이언트

  • 이제 클라이언트에 분수 스케일 인자를 제안하는 컴포저에 대해 fractional_scale_v1 프로토콜을 지원합니다.

모바일 플랫폼

Android

  • Gradle을 8.0으로 업데이트하고 Android Gradle 플러그인(AGP)을 7.4.1로 업데이트했습니다(JDK 11 이상 필요).
  • NDK를 r25b(25.1.8937393)로 업데이트했습니다.
  • 지원되는 버전 목록은 이제 Android 8.0(API 26) 이상입니다.
  • 최소 플랫폼 빌드 sdk 버전이 33(QT_ANDROID_API_VERSION)으로 상향되었습니다.
  • Qt 파일/디렉토리 기능으로 콘텐츠 체계 URI에 대한 더 많은 작업을 지원합니다.
  • 안드로이드 범위 지정 저장소 아래 QStandardPaths 에 대한 수정 및 문서 업데이트.
  • 안드로이드 시스템이 아닌 Qt에서 Qt JNI 예외를 인쇄합니다.
  • APK 서명 체계 v2에 대한 지원 수정.

iOS

임베디드 플랫폼

Boot to Qt

  • Boot to Qt 스택이 yocto 4.1.2(랭데일)를 사용하도록 업데이트되었습니다.
  • Docker 기반 툴체인을 사용하는 macOS 호스트 지원.
  • 대상 하드웨어에 대한 지원 수준이 업데이트되어 이제 특정 하드웨어와 OS 조합에 적용되는 여러 수준의 지원이 제공됩니다.

API 변경 사항 목록

이 페이지에는 Qt 6.5의 API 변경사항에 대한 개요가 포함되어 있습니다:

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