Qt 6.1의 새로운 기능
Qt 6.1의 신규 및 복원된 모듈
Qt 6.1에는 다음과 같은 모듈이 추가되었습니다:
Active Qt Module
Active Qt 은 윈도우용 Qt 개발자를 위한 ActiveX와 COM 지원을 제공합니다:
- Qt 응용 프로그램에서 ActiveX 서버가 제공하는 ActiveX 컨트롤과 COM 객체에 액세스하고 사용할 수 있습니다.
- Qt 응용 프로그램을 COM 서버로 사용할 수 있도록 하고, 원하는 수의 Qt 객체와 위젯을 COM 객체와 ActiveX 컨트롤로 사용할 수 있습니다.
Qt Charts 모듈
Qt Charts 은 여전히 가속 시리즈에 대한 OpenGL만 지원합니다(AbstractSeries.useOpenGL). 이러한 시리즈는 다른 그래픽 API가 렌더링에 사용되는 경우 Qt Quick 에서 렌더링되지 않습니다.
Qt Data Visualization 모듈
Qt Data Visualization 은 OpenGL RHI 백엔드만 지원하며 환경 변수 QSG_RHI_BACKEND
를 opengl
로 설정해야 합니다. 이는 시스템 수준에서 수행하거나 애플리케이션의 main() 에서 qputenv("QSG_RHI_BACKEND", "opengl");
로 정의할 수 있습니다.
Qt Device Utilities 모듈
네트워킹 기능만 지원합니다.
Qt 로티 모듈
모듈은 Qt Lottie Animation 모듈이 Qt 6와 CMake 빌드 시스템으로 포팅되었습니다.
Qt SCXML 및 Qt StateMachine
Qt State Machine 에는 Qt 5의 Qt Core 에 포함되었던 API가 포함되어 있습니다. 인스톨러의 Qt State Machines 패키지에는 Qt SCXML 와 Qt State Machine 모듈이 포함되어 있습니다.
Qt Virtual Keyboard 모듈
모듈 Qt Virtual Keyboard 모듈이 Qt 6와 CMake 빌드 시스템으로 포팅되었습니다.
- 새로운 사전 관리자를 사용하면 애플리케이션에서 사용자 정의 사전(예: 전화번호부)을 구현할 수 있습니다.
- VirtualKeyboardSettings 에 새로운 속성이 있습니다.
- 세렌스 손글씨(T9 쓰기) 및 XT9에 대한 지원이 추가되었습니다.
Qt 6.1의 새로운 기능
Qt Core 모듈
- QFuture 에는 다양한 상태의 퓨처를 생성하는 새로운 편의 함수가 추가되었으며 이제 컨텍스트 객체의 스레드에서 연속을 호출할 수 있습니다.
- qfloat16은 초기화되지 않은 상태로 구축할 수 있습니다.
- <QtMath>는 qHypot()를 제공하여, 임의의 많은 인자에 대해 std::hypot()을 일반화하고 qfloat16 인자를 지원합니다.
- 이제 qAddOverflow(), qSubOverflow() 및 qMulOverflow() 함수에서 오버플로 안전 산술이 지원됩니다.
- removeIf() 메서드와 erase_if() 지원이 더 많은 클래스로 확장되었습니다:
- QHash, QMap 및 그 Multi 변형으로, 술어가 std::pair 또는 컨테이너의 자체 이터레이터를 취합니다.
- QSet또한 표준 라이브러리와의 호환성을 위해 위치 힌트를 받는(그러나 무시하는) 삽입() 오버로드가 추가되었습니다.
- QString QByteArray 및 은 지정된 값의 모든 인스턴스를 제거하기 위해 () 지원도 추가되었습니다. QList erase
- QVarLengthArray와 함께 erase() 지원 및 removeAll() 및 removeOne() 메서드도 추가되었습니다.
- QStringView의 API에는 이제 count(), contains(), indexOf(), lastIndexOf(), constBegin(), constEnd()가 포함됩니다.
- QLocale 는 열거형에서 ISO 코드로의 매핑을 제공합니다: languageToCode(), scriptToCode(), countryToCode(), codeToLanguage(), codeToScript(), codeToCountry().
- QSocketNotifier 이제 더 유연한 생성을 지원합니다.
- QOperatingSystemVersion::version(), QMetaType::hasRegisteredDataStreamOperators(), QUntypedBindable::isReadOnly()를 추가했습니다.
- QJniObject 및 QJniEnvironment 을 공개 API로 추가했습니다(주로 Android에 사용됨).
- 객체 속성 바인딩이 API 개선되었으며, Qt Core 클래스에 바인딩이 추가되었습니다. 자세한 내용은 속성 바인딩 블로그 게시물을 참조하세요.
Qt GUI 모듈
- QColorSpace 은 이제 사용자 정의 전송 함수를 테이블로 설정할 수 있습니다.
- QTextDocument 이제 QTextDocument 서브클래싱하고 loadResource()를 오버로드하는 대신 리소스 공급자 함수를 설정할 수 있습니다.
- 이제 Vulkan API 래퍼(QVulkanFunctions, QVulkanDeviceFunctions)는 Vulkan 1.1 및 1.2 핵심 API도 노출합니다.
- 관련 새 기능(supportedApiVersion())이 QVulkanInstance 에 추가되어 인스턴스 생성 전에 지원되는 인스턴스 수준 버전을 쿼리할 수 있습니다.
- QPainter::VerticalSubpixelPositioning 힌트가 추가되었습니다. 이 기능은 현재 프리타입 글꼴 백엔드에서만 지원되며, 지원되면 약간의 메모리와 추가 작업이 필요하지만 세로 방향으로 텍스트의 서브픽셀 위치를 지정할 수 있게 됩니다. 대부분의 사용 사례에서는 이 기능을 해제해야 하지만 동적으로 변형된 페인터에서 칠해진 요소를 세로로 정렬하려는 매우 특정한 경우에 유용할 수 있습니다.
Qt Widgets 모듈
- QLabel 에는 QTextDocument 의 리소스 공급자 함수에 대한 세터와 게터 메서드가 있습니다. 자세한 내용은 Qt GUI 모듈 변경 사항을 참고하세요.
Qt Network Module
- QNetworkCookie 은 이제 동일 사이트 기능을 지원합니다.
- QNetworkInformation 을 도입했습니다:
- QNetworkInformation 현재 시스템 API를 사용하여 시스템의 접근 가능성을 노출합니다.
- 현재 다윈, 윈도우, 안드로이드, 리눅스의 네트워크 매니저를 지원합니다.
- QSslSocket 및 관련 QSsl 클래스를 구동하는 TLS 백엔드가 플러그인 지향 디자인으로 전환되었습니다.
- QtNetwork 의 하위 모듈 'ssl'의 공개 및 비공개 클래스는 이제 TLS 구현 중립적이며 하위 수준 API/디테일에 노출되지 않습니다.
- 기존 TLS 백엔드(OpenSSL, SecureTransport, Schannel)는 이제 어떤 클래스, 기능 및 프로토콜을 지원하는지 보고합니다.
- (Qt를 사용하는 애플리케이션의 경우) QSslSocket 및 관련 클래스에서 사용할 자체 백엔드를 제공할 수 있습니다.
Qt Qml 모듈
- QJSValue 만으로는 가능했던 것보다 더 세밀하게 자바스크립트 실행을 제어할 수 있도록 QJSPrimitiveValue 및 QJSManagedValue 을 추가했습니다.
- qt6_add_qml_module CMake 함수(아직 테크 프리뷰에 있음)는 타겟의 QML 파일에서 qmllint를 실행하는 qmllint 타겟을 추가합니다.
Qt Quick 3D 모듈
- 기술 프리뷰: '인스턴스 렌더링'은 동일한 오브젝트의 여러 인스턴스를 서로 다른 변환으로 그리는 최적화된 방법입니다. 이 기능은 기능이 완성된 것으로 간주되지만 사용자 피드백에 따라 API가 약간 변경될 수 있습니다. 이 기능은 Qt 6.2에서 마무리될 예정입니다.
- 기술 프리뷰: 3D 파티클, 3D 장면에 파티클 효과를 추가하기 위한 API. 이 API는 테스트할 준비가 되었지만 아직 기능이 완성된 것은 아닙니다.
- Qt Quick 3D 이제 모프 대상 애니메이션, 즉 모든 정점이 두 위치 세트 사이에서 보간되어 한 모양이 다른 모양으로 모핑되는 듯한 느낌을 주는 애니메이션을 지원합니다.
Qt 5 호환성 모듈
Qt Graphical Effects 는 Qt 6와 함께 제공되지는 않지만, 많은 효과들이 새로운 그래픽 아키텍처로 포팅되어 Qt5Compat 모듈에 추가되었습니다. 예를 들어 DropShadow 에 액세스하려면 QML 임포트 Qt5Compat.GraphicalEffects를 추가합니다. 여러 가지 블러 변형과 같이 동적 셰이더 생성에 의존하는 일부 복잡한 효과는 제거되었습니다.
API 변경 사항 목록
이 페이지에는 Qt 6.1의 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.