이 페이지에서

Qt 6.5의 새로운 기능

Qt 6.5의 신규 및 복원된 모듈

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

  • Qt Quick Effect Maker - Qt Quick 용 고성능 셰이더 효과를 생성하는 도구.
  • Qt Quick Effects - Qt Quick 에 하나 이상의 간단한 Graphical Effects를 적용하기 위한 MultiEffect 를 포함하는 모듈 Item.
  • Qt Quick 3D Physics - Qt Quick 3D와 함께 사용할 수 있는 물리 엔진. 이 모듈은 더 이상 기술 미리보기 단계에 있지 않습니다.
  • Qt Qml Core - QML에 다양한 Qt Core API를 QML에 제공하는 모듈입니다.

기술 미리보기에 추가되거나 복원된 모듈

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

  • Qt Location'의 Map 는 2D 지도를 Qt Quick 애플리케이션으로 렌더링합니다. MapView 에는 일반적인 상호 작용 기능(확대/축소, 이동, 기울이기)을 구현하기 위한 Qt Quick 입력 핸들러가 포함되어 있습니다.
  • Qt GRPC protobuf .proto 사양에서 가져온 서비스 설명을 기반으로 생성된 클래스를 사용하여 gRPC 서비스와의 통신을 지원합니다.
  • Qt Protobuf protobuf .proto 사양에서 Qt 기반 클래스를 생성, 직렬화 및 역직렬화하는 기능을 지원합니다.

Qt 6.5의 새로운 기능

Qt Core Module

  • QTimeZone 이제 Qt::TimeSpec 및 해당되는 경우 오프셋을 경량 시간 표현으로 패키징할 수 있으며, 이는 QTimeZone 또는 Qt::TimeSpec 및 오프셋을 사용하던 QDateTime 및 QDate 의 다양한 API를 통합합니다.
  • 사용 전 사용자 동의가 필요한 기능에 대해 애플리케이션이 권한을 확인하거나 요청할 수 있도록 애플리케이션 권한 API를 도입했습니다.
  • Common Trace Format(CTF) 기반의 새로운 크로스 플랫폼 추적 백엔드가 추가되었습니다.
  • QBindable 이제 NOTIFY 신호를 가진 모든 속성으로부터 생성할 수 있습니다. 이를 통해 기존에 바인딩할 수 없었던 속성을 바인딩 가능한 속성과 통합할 수 있습니다.
  • qt_generate_deploy_app_script CMake 함수는 이제 OUTPUT_SCRIPT라는 인수를 우선적으로 받아들입니다. 기존의 FILENAME_VARIABLE을 전달하는 방법은 더 이상 사용되지 않습니다.

Qt GUI 모듈

  • Windows, macOS 및 iOS에서 플랫폼별 형식의 드래그 앤 드롭 및 클립보드 데이터를 처리하기 위해 QWindowsMimeConverter 및 QUtiMimeConverter 클래스가 다시 도입되었습니다.
  • QVulkanInstance 이제 기본적으로 Vulkan Portability 물리 장치를 활성화합니다. 이는 Apple 플랫폼에서 최신 MoltenVK 버전을 사용하기 위해 필요합니다. 이를 비활성화할 수 있는 NoPortabilityDrivers 플래그가 추가되었습니다.
  • Vulkan 렌더링 인프라는 이제 더 이상 사용되지 않는 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 새로운 ` scaleAxis ` 및 ` rotationAxis ` 그룹화된 속성이 추가되었으며, 모든 핸들러 축 그룹에 새로 추가된 ` activeValue ` 속성을 비롯한 여러 새로운 값을 제공합니다. 또한 ` DragHandler `에 이미 존재하던 ` activeTranslation ` 및 ` persistentTranslation ` 속성도 포함되었습니다.
  • DragHandler xAxis 및 에는 새로운 속성이 추가되었습니다. yAxis activeValue
  • PinchHandler activeScale (이전 명칭: )는 더 이상 과 사이의 범위로 제한되지 않습니다. 이러한 제한은 에만 적용됩니다. 마찬가지로, (이전 명칭: )도 더 이상 과 사이의 범위로 제한되지 않습니다. 이러한 제한은 터치스크린과 마찬가지로 네이티브 터치패드 핀치 제스처에도 동일하게 적용됩니다. scale minimumScale maximumScale persistentScale activeRotation rotation minimumRotation maximumRotation
  • TapHandler::exclusiveSignals 이제 singleTapped 및 doubleTapped 신호를 배타적으로 설정할 수 있습니다.

Qt Labs 애니메이션 모듈

Qt Quick Controls 모듈

Qt Test Module

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

Qt Widgets Module

  • QKeySequenceEdit 에 두 가지 새로운 속성이 추가되었습니다. ` maximumSequenceLength `을 사용하면 애플리케이션에서 키 시퀀스의 길이를 제어할 수 있습니다. ` finishingKeyCombinations `은 녹화를 종료하는 키 조합을 정의합니다.
  • QOpenGLWidget 에 입체 렌더링 지원이 추가되었으며, 이는 QOpenGLWidget 뷰포트를 기반으로 하는 모든 QGraphicsView 에도 적용됩니다. QOpenGLWindow 이나 Qt 5 및 4에서 현재 제거된 QGLWidget과 달리, QOpenGLWidget 는 이 기능을 명시적으로 지원해야 하며, 이를 위한 지원 API가 마련되어 있어야 합니다. 이 경우 애플리케이션이 네이티브 창에 직접 렌더링하지 않으므로, QOpenGLWindow 에서와 같이 활성 드로 버퍼를 동일하게 제어할 수 없기 때문입니다.

Qt Positioning 모듈

Qt Serial Bus 모듈

  • QCanSignalDescription, QCanMessageDescription 및 QCanUniqueIdDescription 클래스를 도입했습니다. 이 클래스들은 CAN 버스 메시지를 인코딩하거나 디코딩하기 위한 일련의 규칙을 제공하는 데 사용됩니다.
  • QCanFrameProcessor 클래스가 도입되었습니다. 이 클래스는 수신된 QCanBusFrame 를 키-값 쌍 맵으로 디코딩하고, 키-값 쌍 맵을 바탕으로 QCanBusFrame 를 구성하는 데 사용할 수 있습니다.
  • QCanDbcFileParser 클래스를 도입했습니다. 이 클래스는 DBC 파일을 파싱하여 메시지 설명을 생성하는 데 사용되며, 생성된 메시지 설명은 나중에 QCanFrameProcessor 에서 사용할 수 있습니다.

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

Qt Network 모듈

  • QHttp1Configuration 가 도입되었습니다. 이 클래스를 사용하면 HTTP 1을 사용할 때 호스트당 사용되는 최대 연결 수를 구성할 수 있습니다(기본값: 6).
  • QNetworkRequest Qt for WebAssembly의 on에는 UseCredentialsAttribute 속성이 추가되어, 기본이 되는 XMLHttpRequest에 대해 withCredentials를 활성화할 수 있게 되었습니다.

Qt Qml 모듈

  • QQmlApplicationEngine 및 QQmlComponent 에 모듈 URI와 유형 이름을 통해 QML 요소를 로드/생성하는 API가 추가되었습니다. URL 기반 함수와 달리, 이 기능은 C++ 유형 및 인라인 컴포넌트에서도 작동합니다.
  • QQmlListProperty 이제 속성(properties)은 배열과 더 유사하게 동작하며, map(), reduce(), forEach()와 같은 메서드를 지원합니다. 이는 QList<int> 및 이와 유사한 다른 시퀀스 유형에도 동일하게 적용됩니다.
  • qmltc 를 확장하여 더 많은 QML 구문, 특히 번역 바인딩, 인라인 컴포넌트, 싱글톤 및 C++로 정의된 시그널에 대한 시그널 핸들러를 지원합니다.
  • JavaScript 함수에 대한 타입 어노테이션의 적용을 제어하기 위해 ` pragma FunctionSignatureBehavior `를 도입했습니다. 이전에는 타입 어노테이션이 단순한 힌트에 불과했으나, 이 프래그마를 통해 타입 안전성을 높이기 위해 이를 강제 적용할 수 있게 되었습니다.
  • QML 스크립트 컴파일러가 추가 구문을 처리할 수 있게 되었습니다. 특히 다음과 같습니다:
    • console.log() 및 관련 함수들
    • let 그리고 const
    • qsTr() 및 관련 함수들
    • 문자열용 arg()
    • 나머지 모든 비트별 논리 AND 연산자 및 시프트 연산자
    • 제곱 연산자
  • 새로운 환경 변수 QML_DISK_CACHE 를 사용하면QML 디스크 캐시를 더욱 세밀하게 제어할 수 있습니다.
  • 새로운 공개 CMake API 추가:
    • 리소스 접두사에 대한 더 나은 기본값을 설정하기 위해 Qt CMake 정책이 도입되었습니다. QTP0001 정책이 ` NEW`로 설정되어 있으면, QML 엔진은 리소스 파일 시스템에서 항상 QML 모듈을 찾을 수 있습니다.
  • qt_generate_deploy_qml_app_script CMake 함수는 이제 OUTPUT_SCRIPT라는 인수를 우선적으로 받습니다. 기존의 FILENAME_VARIABLE을 전달하는 방식은 더 이상 권장되지 않습니다.
  • QML에서 호출될 때 네이티브 메서드가 ` this ` 객체를 처리하는 방식을 제어하기 위해 ` pragma NativeMethodBehavior: AcceptThisObject `가 도입되었습니다.

Qt Quick 3D 모듈

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

Qt WebView 모듈

Qt Multimedia 모듈6.4에서 기술 미리보기로 제공되었던 ffmpeg 미디어 백엔드가 Yocto 배포

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

플랫폼 변경 사항

WebAssembly

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

데스크톱 플랫폼

Windows

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

macOS

Linux의 Wayland 클라이언트

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

모바일 플랫폼

Android

  • Gradle을 8.0으로, Android Gradle Plugin(AGP)을 7.4.1로 업데이트했습니다(JDK 11 이상 필요).
  • NDK를 r25b(25.1.8937393)로 업데이트했습니다.
  • 이제 지원되는 버전 목록은 Android 8.0(API 26) 이상입니다.
  • 최소 플랫폼 빌드 SDK 버전을 33(QT_ANDROID_API_VERSION)으로 상향 조정했습니다.
  • Qt 파일/디렉터리 기능을 통해 콘텐츠 스키마 URI에 대한 더 많은 작업을 지원합니다.
  • Android Scoped Storage의 QStandardPaths 에 대한 수정 및 문서 업데이트.
  • Qt JNI 예외를 Android 시스템이 아닌 Qt에서 출력합니다.
  • APK 서명 체계 v2에 대한 지원이 수정되었습니다.

iOS

임베디드 플랫폼

Boot to Qt

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

API 변경 사항 목록

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

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