이 페이지에서

Qt 6.3의 새로운 기능

Qt 6.3의 신규 및 복원된 모듈

Qt 6.3에는 다음 모듈이 추가되었습니다:

Qt 6.3에서는 Qt 6.2에 포함되지 않았던 다음 모듈들이 다시 도입되었습니다. 나열된 모든 모듈은 Qt 6 및 CMake 빌드 시스템으로 이식되었습니다.

  • Qt PDF (기술 미리보기)

각 모듈에 대한 보다 자세한 변경 사항 목록은 Qt 6의 Qt 모듈 변경 사항에서 확인할 수 있습니다.

Qt 6.3의 새로운 기능

Qt Core 모듈

  • 여러 퓨처를 결합하기 위한 QtFuture::whenAll() 및 QtFuture::whenAny() 함수가 추가되었습니다.
  • 권한 인자를 받는 QDir::mkdir() 및 QFile::open() 오버로드가 추가되었습니다.
  • QMetaType 이제 모든 QFuture<T>를 QFuture<void>로 변환할 수 있습니다.
  • QDirIterator::nextFileInfo()을 추가하여 파일을 앞으로 이동하고 전체 파일 정보를 가져올 수 있게 되었습니다.
  • QLocale언어 코드를 Language 값으로 변환하거나 그 반대로 변환하는 매핑에는 이제 고려할 ISO 639 코드 유형을 지정하는 오버로드가 있습니다.
  • QRegularExpressionMatch 이제 주어진 그룹이 캡처되었는지 여부를 테스트하는 hasCaptured() 메서드가 있습니다.
  • QProcessEnvironment QProcess 가 시작될 때 프로세스 환경을 부모 프로세스에서 상속받을지 여부를 선택할 수 있는 새로운 열거형과 생성자가 추가되었습니다.

    경고: 이전 Qt버전에서는 문서에 상속되지 않는다고 명시되어 있었음에도 불구하고, 기본 동작은 상속하는 것이었습니다. Qt 6.3에서는 기본 생성자의 동작이 문서와 실제로 일치하도록 변경되었습니다. 즉, QProcessEnvironment()를 통해 생성된 QProcessEnvironment 을 사용하여 QProcess 을 실행하면 빈 환경에서 실행됩니다. 이전 동작으로 되돌리려면 QProcessEnvironment(QProcessEnvironment::InheritFromParent)를 사용하십시오.

    또한, 새로운 방식으로 생성된 인스턴스를 검사하는 inheritsFromParent() 메서드가 추가되었습니다.

  • QVarLengthArray 이제 emplace() 및 emplace_back() 메서드가 제공됩니다.
  • QLocale, QTime 및 QDateTime 의 구문 분석 및 직렬화에서 사용되는 시간 형식은 이제 'aP' 및 'Ap' 형식 지정자를 인식하여 AM/PM 표시기를 얻으며, 표시기에 로케일에 적합한 대소문자를 사용합니다. 이전에는 시간 형식 작성자가 사용자의 로케일과 충돌할 수 있는 대소문자를 선택해야 했습니다. QTime 및 QDateTime 의 경우 로케일은 항상 C이며, 이 로케일의 표시자는 대문자입니다. QLocale 의 경우, 대소문자 표기 방식이 이제 amText() 또는 pmText()의 대소문자 표기 방식과 일치합니다. 이전에는 'aP'가 소문자 표시자 뒤에 'P'가 오는 형태로, 'Ap'는 대문자 표시자 뒤에 'p'가 오는 형태로 해석되었습니다. 이제 'P' 또는 'p'는 형식 지정자의 일부로 처리됩니다. 이전의 동작을 원한다면, 형식 지정자로 'APp' 또는 'apP'를 사용하거나 형식 내에서 'p' 또는 'P'를 따옴표로 묶으십시오. 기존의 'a', 'ap', 'A' 및 'AP' 지정자는 그 외에는 영향을 받지 않습니다.
  • QDebug 이제 QVarLengthArray 객체를 스트리밍할 수 있습니다.
  • QObject::findChildren()에는 이제 이름을 받지 않는 오버로드가 있습니다.
  • QSemaphore 에 std::counting_semaphore 및 std::chrono와의 호환성을 높이기 위해 오버로드 및 메서드 이름이 추가되었습니다.
  • QJsonValue 이제 QJsonArray 및 QJsonObject 를 받는 rvalue 생성자가 있습니다.
  • QCborMap::fromJsonObject() 및 QCborArray::fromJsonArray()에 rvalue 오버로드가 추가되었습니다.
  • QByteArrayView::trimmed()이 추가되어 앞뒤 공백을 제거합니다.
  • QByteArrayView 에 숫자 구문 분석 메서드가 추가되었습니다.
  • QByteArray, QByteArrayView 및 QUtf8StringView 에 isValidUtf8() 메서드가 추가되었습니다.
  • result()에 대한 뷰를 제공하기 위해 QCryptographicHash::resultView()를 추가했습니다.
  • QStringBuilder가 이제 QByteArrayView 을 지원합니다.
  • QUuid 이제 QAnyStringView 를 사용하여 생성할 수 있습니다.
  • QLocale 이제 QStringView 을 인수로 받는 생성자가 있습니다.
  • QByteArrayList::join()에는 이제 QByteArrayView 를 인수로 받는 오버로드가 있습니다.
  • QCryptographicHash::addData()에는 이제 QByteArrayView 를 인수로 받는 오버로드가 있습니다.
  • qSwap()가 이제 constexpr이 되었습니다.
  • 새로운 공개 CMake API가 추가되었습니다:

Qt GUI 모듈

  • QGuiApplication::setLayoutDirection()를 자동이 아닌 값으로 호출하면 설치된 번역기를 기반으로 한 자동 감지 기능이 비활성화됩니다.
  • QDesktopServices::setUrlHandler()에 전달된 URL 핸들러는 이제 소멸되기 전에 unsetUrlHandler()를 호출하여 제거해야 합니다. 핸들러의 소멸자를 사용하여 암시적으로 설정을 해제하는 방식은 더 이상 사용되지 않습니다.
  • QVulkanWindow 이제 물리적 장치에서 지원되는 것으로 보고된 모든 Vulkan 1.0 기능을 활성화합니다.

Qt Quick 모듈

  • 새로운 항목 추가: TreeView.
  • 모든 포인터 핸들러에는 설정 가능한 parent 속성이 있습니다.
  • HoverHandler 및 WheelHandler 에는 blocking 속성이 있어, 호버 및 휠 이벤트가 각각 핸들러의 parent 뒤에 있는 항목 및 핸들러로 전파되는지 여부를 제어할 수 있습니다.
  • TapHandler 이제 ` gesturePolicy `에 ` DragWithinBounds` 값이 하나 더 추가되었습니다. 이 속성은 ` WithinBounds`과 유사하지만, 사용자가 포인트를 누른 상태로 드래그하더라도 드래그 중에는 ` timeHeld `이 재설정되지 않으며, 사용자가 포인트를 그만큼 오래 누르고 있는 경우 드래그 임계값에 관계없이 ` longPressed ` 신호가 발송된다는 점이 다릅니다. 이는 timeHeld 를 사용하여 “열림” 애니메이션을 직접 제어하는 동시에, 메뉴(포인터 핸들러 예제의 파이 메뉴와 같은)와 같은 누르기-드래그-놓기 구성 요소를 구현하는 데 유용합니다.

  • QQuickItem::clipRect()는 이제 viewport (상위 Flickable 또는 Window)에서 보이는 영역을 제공하며, 사용자 정의 항목에서 최적화를 위해 씬 그래프 노드 정점을 제한하는 데 사용할 수 있습니다. 단, 이 경우 updatePaintNode()이 더 자주 호출된다는 단점이 있습니다. 새로운 QQuickItem::ItemObservesViewport 및 QQuickItem::ItemIsViewport 플래그에 대한 문서를 참조하십시오.
  • 메모리와 시작 시간을 절약하기 위해, Text 및 TextEdit 는 이제 뷰포트 외부에 위치하여 보이지 않는(Flickable 또는 Window) 대량의 텍스트에 대해 시네그래프 노드 생성을 생략합니다.
  • Text 이제 HTML 또는 마크다운의 수평선을 렌더링합니다.
  • Text 에서는 HTML 소스에 포함된 CSS 규칙을 통해 수평선과 밑줄, 위줄, 취소선을 색상 지정할 수 있습니다.
    import QtQuick
    
    Text {
        textFormat: Text.RichText
        wrapMode: Text.WordWrap
        width: 440
        font.pointSize: 12
        text: `<p><u style="color: green;">green with underline</u>
                  <span style="text-decoration: underline; text-decoration-color: green;">
                    green underline</span></p>
               <p><s style="background-color: lightgrey;">plain strikethrough</s>
                  <span style="text-decoration: line-through; text-decoration-color: orange;">
                    orange strikethrough</span></p>
               <p><span style="text-decoration: overline;">plain overline</span>
                  <span style="text-decoration: overline; text-decoration-color: red;">
                    red overline</span></p>`
    }
  • QQuickItem::dumpItemTree()가 추가되었습니다. 이 함수는 C++( QObject::dumpObjectTree()와 유사) 또는 QML에서 호출할 수 있으며, 항목과 그 모든 자식 요소에 대한 qDebug 연산자 출력을 트리 구조를 보여주기 위해 들여쓰기하여 표시합니다.
  • TapHandler tapped, 및 신호에는 이제 두 개의 인수가 있습니다: 인스턴스와 입니다. 신호 핸들러가 필요한 경우, 이러한 인수를 수신하기 위해 명시적인 함수를 작성해야 합니다: singleTapped doubleTapped QEventPoint button
    onTapped: function(point, button) { ... }
    onDoubleTapped: (point, button)=> ...
  • DragHandler activeTranslation 는 이제 드래그 제스처가 시작된 이후의 이동량을 저장합니다. ` `는 이후 드래그 제스처 동안 발생한 이동량의 누적 합계를 저장하며, 제스처 사이에서 임의의 값으로 재설정할 수 있습니다. persistentTranslation

Qt Quick Controls 모듈

Qt Quick Dialogs 모듈

  • FolderDialog 및 MessageDialog 가 추가되었습니다. 이들은 이를 지원하는 플랫폼에서는 네이티브 대화 상자로, 그 외 플랫폼에서는 비네이티브 Qt Quick 대화 상자로 표시됩니다.

    비네이티브 대화 상자는 Basic, Fusion, Imagine, Material 및 Universal과 같은 모든 비네이티브 스타일을 지원합니다.

Qt Widgets 모듈

  • QToolBar 이제 키네틱 휠이나 트랙패드를 사용한 스크롤을 지원합니다.

위젯 기반 UI의 외관과 느낌을 추가로 사용자 정의할 수 있도록 몇 가지 새로운 QStyle 열거형 값이 제공됩니다.

Qt Network Module

  • QNetworkInformation transportMedium을 학습했습니다. 기본 네트워크 인터페이스의 전송 매체를 반환하는 속성입니다.
  • QNetworkInformation 또한 isMetered도 학습되었습니다. 네트워크가 계량되는지 여부를 반환하는 속성입니다.

Qt Qml 모듈

  • QML 유형 구조를 C++로 컴파일하는 기술 미리보기 QML 유형 컴파일러(qmltc)가 추가되었습니다.
  • 이제 컴파일러 인프라를 사용하는 qmllint에 몇 가지 새로운 경고가 추가되었습니다.
  • 헤더 전용 qmlintegration 모듈을 사용하면 qtdeclarative에 대한 종속성을 추가하지 않고도 QML 모듈에 등록할 유형을 표시할 수 있습니다. 그런 다음 새로운 qt_generate_foreign_qml_types() CMake API를 통해 이를 QML 모듈에 추가할 수 있습니다.
  • qmlcachegen은 이제 성능 향상을 위해 적절한 함수와 표현식을 C++로 컴파일합니다.
  • Binding 및 PropertyChanges 에 일반화된 그룹화된 속성 지원이 추가되어, 이러한 컨텍스트에서 그룹화된 속성 구문(예: someId.someProperty)을 사용할 수 있게 되었습니다.
  • QML Language Server 의 기본 기능이 도입되었습니다.
  • QML_NAMESPACE_EXTENDED 를 통해 다른 네임스페이스의 확장으로서 네임스페이스를 지원하는 기능이 도입되었습니다.
  • 새로운 공개 CMake API를 추가했습니다:

Qt Quick 3D 모듈

  • ReflectionProbe 가 추가되어 모델에 반사 효과를 표시할 수 있게 되었습니다.
  • Particles3D: 사용자 정의 CBOR 바이너리 파일에서 방출 도형을 불러오는 새로운 ParticleCustomShape3D 요소가 추가되었습니다.
  • Particles3D: 스프라이트 파티클이 이제 3D 환경 조명을 지원합니다.
  • Particles3D: 선언적 동적 방출 및 궤적 시작/종료 시점에 방출하기 위한 새로운 ` DynamicBurst ` 요소가 추가되었습니다.
  • 리소스 수명을 명시적으로 설정할 수 있는 ‘ ResourceLoader ’ 컴포넌트가 추가되었습니다(기술 미리 보기).
  • PrincipledMaterial: ClearCoat, Transmission 및 Refraction에 대한 지원이 추가되었습니다.
  • glTF2: 임포터가 이제 다음의 추가 확장을 지원합니다: KHR_materials_clearcoat, KHR_materials_ior, KHR_materials_transmission, KHR_materials_volume

Qt WebEngine 모듈

  • 이제 Python 2 대신 Python 3으로 빌드됩니다.
  • QML 터치 선택 메뉴를 대체하기 위한 API가 추가되었습니다.
  • 새로운 공개 CMake API 추가:
    • Hunspell 사전을 Qt WebEngine 의 .bdic 바이너리 형식으로 변환하기 위한 API: qt_add_webengine_dictionary()

Qt Data Visualization 모듈

  • Q3DSurface의 QSurface3DSeries에 대한 와이어프레임 색상을 설정할 수 있는 새로운 wireframeColor 속성을 추가했습니다.
  • Q3DBars에서 막대 그래프 행마다 다른 색상을 설정할 수 있는 새로운 rowColors 속성을 추가했습니다.
  • Q3DBars에서 개별 막대의 여백을 설정하는 새로운 barSeriesMargin 속성을 추가했습니다.
  • QAbstract3DGraph에 시계가 이미 추가되었는지 확인하는 hasSeries 함수를 추가했습니다.
  • 16비트 높이 맵을 지원하도록 추가했습니다.

Qt Positioning 모듈

  • Android 및 iOS 플랫폼에 새로운 ' DirectionAccuracy ' 속성이 추가되었습니다. 이 속성은 제공된 방위각의 정확도를 나타냅니다.

Qt Bluetooth 모듈

  • QBluetoothLocalDevice 의 Windows 구현을 확장했습니다. 이제 어댑터 상태를 정확하게 보고하며, 상태를 전환할 수 있습니다. 연결/연결 해제된 장치 추적 기능은 아직 지원되지 않습니다.
  • QBluetoothDeviceInfo API를 확장하여, 광고 중에 게시된 Bluetooth Low Energy 서비스 데이터를 노출할 수 있게 되었습니다.

Qt Wayland Compositor 모듈

  • 사용자 정의 셸 확장 기능을 생성하는 API를 추가했습니다. 사용 방법은 예제를 참조하십시오.
  • Qt에서 제공하는 모든 윈도우 시스템 기능을 지원하는 Qt 셸 을 추가했습니다.
  • presentation-time 프로토콜에 대한 지원이 추가되었습니다.
  • 다양한 출처의 클라이언트를 지원하기 위해, 동일한 서버에서 여러 입력 방식 프로토콜을 지원하도록 했습니다.

플랫폼 변경 사항

기술 미리보기 플랫폼

WebAssembly

Qt for WebAssembly에 몇 가지 개선 사항이 적용되었습니다. 자세한 내용은 Qt for WebAssembly의 플랫폼 문서를 참조하십시오.

  • 이미지와 HTML 텍스트를 시스템 클립보드에 복사/붙여넣기할 수 있도록 지원이 추가되었습니다.
  • SIMD 지원이 추가되었습니다. SIMD를 활성화하려면 소스 코드에서 Qt를 빌드해야 합니다.
  • 보조 스레드에서 ` QEventLoop::exec()` 및 ` QThread::exec()` 호출을 지원합니다.
  • Emscripten Asyncify를 사용하여 메인 스레드에서 ` QEventLoop::exec()` 및 ` QDialog::exec()`를 호출할 수 있도록 지원이 추가되었습니다. Asyncify를 활성화하려면 소스 코드에서 Qt를 빌드해야 합니다.
  • 이제 asyncify가 활성화된 빌드에서도 드래그 앤 드롭이 작동합니다.
  • Emscripten의 WebSockets를 통한 에뮬레이트된 POSIX TCP 소켓을 사용하여 WebSockets를 통해 TCP 및 UDP 소켓을 터널링하는 기능이 추가되었습니다. 이 기능은 메인 스레드의 비동기 소켓으로만 제한됩니다.

ARM 기반 Windows

Qt의 최적화 빌드와 관련된 문제가 아직 해결되지 않아, ARM64 기반 Windows는 여전히 기술 미리 보기(Technology Preview) 단계에 머물러 있습니다.

모바일 플랫폼

Android

  • 인앱 구매 데모 와 ‘ Qt 3D: Planets QML 예제’에 안드로이드 전용 개선 사항이 적용되었습니다.
  • Gradle을 7.2.0으로, Android Gradle Plugin(AGP)을 7.0.2로 업데이트했습니다(JDK 11 이상 필요).
  • CMake Android 프로젝트에 누락되었던 _make_aab 타깃을 추가했습니다.
  • CMake용 멀티 ABI 빌드를 추가했습니다. QT_ANDROID_ABIS를 참조하십시오.
  • QML 모듈은 이제 사용자의 빌드 폴더 아래에 있는 "android-qml"이라는 공통 디렉터리에 배치됩니다. 이는 androiddeployqt 도구의 공통 임포트 경로 역할을 합니다.
  • QML 테스트 벤치가 이제 Android 빌드에서 작동합니다.

iOS

  • CMake 기반 프로젝트에서 이제 기본 실행 화면이 생성됩니다.

임베디드 플랫폼

Boot to Qt

  • Boot to Qt 스택이 Yocto 3.4(honister)를 사용하도록 업데이트되었습니다.
  • Qt PDF Boot to Qt 스택에 Qt Language Server가 포함되었습니다.

기타

Wayland

  • DataDeviceV3 프로토콜에 대한 지원이 구현되었습니다.
  • wl_seat 지원을 버전 7로 업그레이드했습니다.
  • 서버가 여러 인터페이스를 지원하는 경우, 입력 방식 프로토콜을 선택할 수 있는 기능이 추가되었습니다. 이는 QT_WAYLAND_TEXT_INPUT_PROTOCOL을 프로토콜 이름으로 설정하여 수행할 수 있습니다.

API 변경 사항 목록

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

모든 Qt 6 릴리스에 추가된 내용

What's New in Qt 6.0

Qt 6.0의 새로운 기능을 나열합니다.

What's New in Qt 6.1

Qt 6.1의 새로운 기능을 나열합니다.

What's New in Qt 6.2

Qt 6.2의 새로운 기능을 나열합니다.

What's New in Qt 6.3

Qt 6.3의 새로운 기능을 나열합니다.

What's New in Qt 6.4

Qt 6.4의 새로운 기능을 나열합니다.

What's New in Qt 6.5

Qt 6.5의 새로운 기능을 나열합니다.

What's New in Qt 6.6

Qt 6.6의 새로운 기능을 나열합니다.

What's New in Qt 6.7

Qt 6.7의 새로운 기능을 나열합니다.

What's New in Qt 6.8

Qt 6.8의 새로운 기능을 나열합니다.

What's New in Qt 6.9

Qt 6.9의 새로운 기능을 나열합니다.

What's New in Qt 6.10

Qt 6.10의 새로운 기능을 나열합니다.

What's New in Qt 6.11

Qt 6.11의 새로운 기능을 나열합니다.

What's New in Qt 6.12

Qt 6.12의 새로운 기능을 나열합니다.

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