Qt 6.2의 새로운 기능
Qt 6.2의 신규 및 복원된 모듈
Qt 6.2에는 다음 모듈이 추가되었습니다:
- QtQuick.Dialogs - Qt가 네이티브 대화 상자를 제공하지 않는 플랫폼에서 Qt Quick 폴백을 제공하는 QML 모듈. FileDialog 과 FontDialog 는 이번 릴리스에서 사용할 수 있습니다.
Qt 6.2는 Qt 6.1에 없던 다음 모듈을 다시 도입했습니다. 나열된 모든 모듈은 Qt 6 및 CMake 빌드 시스템으로 포팅되었습니다.
각 모듈에 대한 자세한 변경 사항 목록은 Qt 6의 Qt 모듈 변경 사항에서 확인할 수 있습니다.
- Qt Bluetooth
- BlueZ 4 지원이 제거되었습니다.
- Win32 백엔드가 제거되었습니다. 따라서 Mingw-w64를 사용하는 Qt Bluetooth 은 더 이상 지원되지 않습니다.
- QML API가 제거되었습니다.
- QBluetoothTransferManager 및 관련 클래스가 제거되었습니다.
- 페어링 에이전트와 관련된 기능이 QBluetoothLocalDevice 에서 제거되었습니다.
- Qt Multimedia
- Qt Multimedia 공개 API는 5개의 큰 기능 블록으로 구성됩니다. 각 API는 Qt 5에 비해 크게 변경되었습니다:
- 장치 검색
- 저수준 오디오
- 재생 및 디코딩
- 캡처 및 녹화
- 비디오 출력 파이프라인
- 현재 지원되는 백엔드
- Linux: GStreamer
- Windows: WMF
- macOS/iOS: AVFoundation
- Android: MediaPlayer 및 카메라 API
- Qt Multimedia 공개 API는 5개의 큰 기능 블록으로 구성됩니다. 각 API는 Qt 5에 비해 크게 변경되었습니다:
- Qt NFC
- Linux/NearD에 대한 지원이 제거되었습니다.
- iOS에 대한 지원이 추가되었습니다.
- Qt Positioning
- 많은 프로퍼티를 바인딩 가능하게 만들었습니다.
- QGeoPolygon::path()의 이름을 QGeoPolygon::perimeter 로 변경했습니다.
- QGeoLocation 이제 QGeoRectangle 대신 QGeoShape 을 경계 영역으로 사용합니다.
- 여러 위치 클래스에서
error()
신호의 이름이errorOccurred()
으로 변경되었습니다. - QGeoPositionInfoSourceFactoryV2가 제거되었으며, QGeoPositionInfoSourceFactory 은 이제 생성된 객체에 대한 사용자 지정 매개변수를 지원합니다.
- NMEA 지원이 재설계되었습니다. serialnmea 플러그인의 이름이 nmea로 변경되었으며 이제 TCP 소켓 또는 원시 파일에서 입력 스트림 읽기를 지원합니다.
nmeaSource
속성이 제거되었습니다.
- Qt Remote Objects
- Qt Sensors
- 이제 대부분의 QML 대향 프로퍼티를 바인딩할 수 있습니다.
- Sensor::type 및 QSensor::type 속성은 이제 상수로 표시됩니다.
- QSensorBackend::sensorBusy()에 사용 중 상태를 지울 수 있는 매개변수를 추가했습니다.
- qtimestamp에 대한 typedef를 삭제했습니다.
- 센서
type
문자열의 이름을sensorType
으로 변경했습니다. - Windows: 이제 Windows 10 API를 요구할 수 있어 지원되는 센서 수를 늘릴 수 있습니다.
- 지원 플랫폼으로서의 TI 센서 태그가 제거되었습니다.
- Linux
sysfs
백엔드가 제거되었습니다. - 센서 제스처 지원이 제거되었습니다(여기에서 입력 환영: QTBUG-97066).
- Sensorfw 자체가 아직 Qt 6로 포팅되지 않았기 때문에 플랫폼으로서의 Sensorfw가 제거되었습니다.
- Sensorfw 백엔드만 있는 센서 유형(IRProximity, Lid, Tap)은 더 이상 지원되는 것으로 표시되지 않습니다.
- 백엔드가 없는 센서 유형(고도계, 거리, 홀스터)은 제거되었습니다.
- Qt Serial Bus
- QCanBusFactory 가 제거되고 QCanBusFactoryV2의 이름이 QCanBusFactory 로 변경되었습니다.
- QModbusRtuSerialSlave 및 QModbusRtuSerialMaster가 QModbusRtuSerialServer 및 QModbusRtuSerialClient 로 이름이 변경되었습니다.
- Qt Serial Port
- Qt WebChannel
- QWebChannel 속성을 바인딩할 수 있게 되었습니다.
- 이제 QWebChannel 의 속성 업데이트 간격을 구성할 수 있습니다. 50ms 업데이트 간격이 기본값으로 유지됩니다.
- QWebChannel 이제 바인더블 프로퍼티에 대한 프로퍼티 업데이트를 지원합니다. 그러나 클라이언트 측에서는 호스트 프로퍼티에 NOTIFY 신호가 없는 경우 일반 콜백 메커니즘을 제공하지 않습니다.
- 이제 다른 스레드에 있는 객체의 신호가 올바르게 처리됩니다(QTBUG-51366).
- Qt WebEngine
- Qt Quick 의 서브모듈 이름이 QtWebEngine에서 QtWebEngineQuick 으로 변경되었습니다.
- QWebEnginePage 을 포함한 여러 클래스가 QtWebEngineWidgets 에서 QtWebEngineCore 으로 이동되었습니다.
- 이전에는 QWebEnginePage 에서 파생해야만 액세스할 수 있었던 일부 기능이 이제 동기 신호를 사용하여 액세스할 수 있습니다.
- 특정 URL의 아이콘을 조회하기 위해 QWebEngineProfile 에 파비콘 API가 추가되었습니다.
- 새로운 QWebEngineLoadingInfo 클래스는 로딩 성공 또는 실패에 대한 자세한 정보를 제공합니다.
- Qt WebSockets
- Qt WebView
Qt 6.2의 새로운 기능
Qt Core 모듈
- 기능이 추가되었습니다:
- QByteArrayView::compare() 추가.
- QFlags::test(Any)Flag 메서드 추가.
- 해싱을 제어하기 위해 QHashSeed 을 추가했습니다 (이제 시드는 size_t입니다); 이것은 qGlobalQHashSeed와 qSetGlobalQHashSeed를 대체합니다.
- 형 변환이나 경고 없이 printf() 스타일의 서식을 쉽게 지정할 수 있도록 PRIxQTDATATYPE 매크로를 추가했습니다.
- 많은 속성을 바인딩 가능하게 만들었습니다.
- 이제 그래프 클러스터에서 이모티콘을 처리할 수 있습니다.
- 이제 Windows에서 UNC 경로와 네트워크 공유가 일관되게 처리됩니다.
- 다양한
indexOf()
및lastIndexOf()
메서드(주로 QString, QByteArray 및 해당 뷰)에서from
라는 시작 오프셋 매개변수의 처리가 이제 더 일관되게 처리됩니다. - Qt 6.0 릴리스 이후 QString::number()가 그랬던 것처럼, 이제 부호 있는 정수형에 대한 QByteArray::number()의 오버로드는 음수 및 지원되는 모든 기저를 전달할 때 10을 제외한 모든 기저에 대해 부호 없는 유형으로 강제하는 대신 숫자의 절대값 뒤에 마이너스 기호가 붙은 텍스트를 반환합니다.
- QCalendar 이제 사용자 정의 백엔드의 ID에서 구성을 지원합니다.
- QChar, QPoint, QPointF 은 이제 단순히 재배치할 수 있는 것이 아니라 원시적입니다.
- QCoreApplication::exit()는 이제 quit()과 마찬가지로 (문서에서 오랫동안 주장했던 것처럼) 슬롯입니다( QEventLoop 및 QThread 도 마찬가지입니다).
- QDateTime 는 이제 1970~2037년으로 범위를 인위적으로 제한하는 대신 (플랫폼에서 해당 정보를 제공하는 한) time_t 범위 전체의 시간대를 고려합니다.
- QFlags 의 값 유형 동작을 구체화하여 이제 보다 체계적으로 사용됩니다.
- C++20용으로 빌드할 때 QList (따라서 QVector)는 이제
contiguous_iterator
로contiguous_range
을 충족합니다. - QLocalSocket::waitFor*() 메서드가 Windows에서 이중 연산을 지원하도록 만들어졌습니다(유닉스에서 이미 그랬던 것처럼).
- QLockFile 메서드에 std::chrono 오버로드를 추가하여 UTC와 현지 시간 간의 불필요한 변환을 방지합니다.
- QString 이제 char8_t에서 빌드할 수 있습니다(사용 가능한 경우).
- QThreadPool 의 스레드 우선순위를 구성할 수 있게 만들었습니다. 풀이 있는 경우 스레드가 풀의 이름을 공유합니다.
- 많은 버그 수정, 정리 및 문서 개선.
Qt GUI 모듈
- QImage 에 16비트 및 32비트 부동소수점 이미지 형식을 추가했습니다.
- RGB 이미지를 회색조 이미지로 변환하거나 RGB 색상을 그레이 스케일 이미지에 칠하는 작업이 이제 감마 보정되어 입력 색 공간의 휘도 값을 생성합니다.
- 이제 밑줄, 밑줄, 취소선이 있는 서식 있는 텍스트 스팬에서 CSS 텍스트 장식 색상 속성이 지원됩니다.
Qt Quick 모듈
- TableView 에 ItemSelectionModel 을 할당하여 셀을 선택하는 기능이 추가되었습니다.
Qt Quick Controls 모듈
- 새 컨트롤인 SelectionRectangle 을 추가했습니다. 이 컨트롤은 스타일이 지정된 선택 사각형을 사용하여 TableView 에서 셀을 선택하는 데 사용할 수 있습니다.
Qt Widgets 모듈
- 스타일이 QLineEdit 에서 아이콘의 기본 크기를 정의할 수 있는 새로운 QStyle::PixelMetric 열거형 값인 PM_LineEditIconSize를 추가했습니다.
- 새로운 QGraphicsSceneEvent::timestamp 메서드는 해당되는 경우 원래 이벤트의 타임스탬프를 반환합니다.
- QGraphicsSceneWheelEvent::phase, QGraphicsSceneWheelEvent::pixelDelta, QGraphicsSceneWheelEvent::isInverted 은 원본 QWheelEvent 의 각 속성을 반환합니다.
Qt Network 모듈
- QSslSocket
- 이전에 (Qt 6.1에서) 플러그인과 유사한 클래스로 변환되었던 TLS 백엔드가 QtNetwork 밖으로 이동되어 실제 플러그인으로 구현되었습니다.
- 이제 런타임에 여러 TLS 백엔드가 공존할 수 있습니다(예: OpenSSL과 Schannel 또는 OpenSSL과 SecureTransport).
- QNetworkInformation
- 사용자가 캡티브 포털이 있는 네트워크에 연결되어 있는지 여부를 확인하는 데 사용할 수 있는 새로운 속성 isBehindCaptivePortal 을 도입했습니다.
Qt QML 모듈
- 핵심 언어
- 선택적 체인에 대한 지원이 추가되었습니다.
- 캐스트로 추가: 주로 툴링에 도움이 되지만
return (obj instanceof Item) ? obj.width : 42
와 같은 코드를(obj as Item)?.width ?? 42
로 대체하는 데에도 사용할 수 있습니다.
- QML 모듈을 위한 공용 CMake API 추가:
qt_add_qml_module()
.qmldir
및qmltypes
생성을 처리합니다.- 플러그인이 유형만 등록하는 경우 자동으로 플러그인을 생성할 수 있습니다.
- 린팅 타겟에 대한 기본 지원 기능이 추가되었습니다.
- QML 툴링
qmllint
- 경고 심각도에 대한 세분화된 설정이 추가되어 경고를 완전히 비활성화하거나, 정보 제공만 하거나, 0이 아닌 종료 코드로 이어지도록 할 수 있습니다.
- 디렉터리별로 경고 수준을 구성할 수 있는 설정 파일(.qmllint.ini)이 추가되었습니다. 기본 설정 파일은
qmllint --write-defaults
을 사용하여 생성할 수 있습니다. - 이제 댓글을 통해 블록에서 경고를 비활성화할 수 있습니다;
//qmllint enable/disable <warning-type1> <warning-type2...>
- 파일 린팅 시, 특히 가져오기 횟수가 많은 여러 파일을 린팅할 때 성능이 크게 향상되었습니다.
- 툴링에 사용할 수 있도록 JSON 출력에 대한 지원이 추가되었습니다.
qmlformat
qmlformat
이제 새로운 qmldom 라이브러리를 사용하며 일반적으로 더 나은 출력을 생성합니다.
Qt Quick 3D 모듈
- 동일한 오브젝트의 여러 인스턴스를 서로 다른 변형으로 그리는 최적화된 방법인 인스턴스 렌더링에 대한 지원이 추가되었습니다.
- 3D 장면에 파티클 효과를 추가하기 위한 API인 3D 파티클이 추가되었습니다. 여기에는 모델 블렌드 파티클의 기술 미리보기가 포함됩니다.
- 씬과 텍스처 모두에서 3D의 2D 항목에 대한 입력 이벤트( Qt Quick )를 추가했습니다.
- 씬의 임의 지점에서 광선 기반 피킹을 위한 API를 추가했습니다.
- RuntimeLoader 을 추가하여 런타임에 glTF2 파일을 로드할 수 있게 되었습니다.
- 패럴랙스 오클루전 매핑을 구현했습니다: 지오메트리를 추가하지 않고도 높이 맵을 사용할 수 있습니다.
- 머티리얼에 뎁스 그리기 모드 구현: 머티리얼의 뎁스 렌더링을 세밀하게 제어할 수 있습니다.
Qt Data Visualization 모듈
- 배경 렌더링 모드가 수정되었습니다.
- 창을 지우지 않도록 선택하는 것이 더 이상 Qt 6에서 옵션이 아니므로 RenderDirectToBackground_NoClear가 더 이상 사용되지 않습니다.
- 많은 사소한 버그가 수정되었습니다.
Qt Charts 모듈
- QScatterSeries 및 QLegend 에서 선택할 수 있는 마커 모양을 더 추가했습니다.
- QXYSeries 및 QLegend 에 라이트 마커 기능을 추가했습니다. 포인트를 더 가볍게 렌더링할 수 있습니다.
- QXYSeries 및 QBarSet 에 메서드 호출을 통해 시리즈에서 포인트를 선택하는 기능을 추가했습니다.
- QXYSeries 에서 선택한 포인트에 사용할 색상을 설정하거나 사용자 정의 라이트 마커를 사용할 수 있는 기능을 추가했습니다.
- QBarSet 에서 선택된 막대에 사용할 색상을 설정하는 기능을 추가했습니다.
- QXYSeries 에 가장 잘 맞는 선을 표시하는 기능을 추가했습니다.
- QXYSeries 에서 개별 포인트의 모양을 사용자 지정하는 기능을 추가했습니다. 이 기능을 사용하면 각 포인트의 가시성, 레이블 표시 여부 및 크기를 설정할 수 있습니다.
- 전달된 값에 따라 계열의 포인트 크기를 조정하는 sizeBy() 메서드를 QXYSeries 에 추가했습니다.
- 전달된 값과 그라데이션에 따라 계열 내 포인트의 색상을 조정하는 colorBy() 메서드를 QXYSeries 에 추가했습니다.
- 색 눈금을 표시하는 colorBy() 기능을 지원하는 새로운 축 클래스 QColorAxis 를 추가했습니다.
- 축에서 레이블 잘림을 비활성화하는 기능이 추가되었습니다.
- 최근에 사용한 텍스트 바운드를 캐싱하여 성능을 개선했습니다.
- setInteractive() 메서드를 통해 QLegend 에 대화형 지원을 추가했습니다. 활성화되면 두 번 클릭하여 범례를 분리할 수 있습니다. 분리된 범례는 드래그하여 크기를 조정할 수 있으며, 가장자리에서 드래그하여 차트의 한쪽에 다시 붙일 수 있습니다.
- QLegend 에 attachedToChartChanged() 신호를 추가했습니다.
- 범례 예제를 업데이트했습니다.
Qt for Python
- Qt for Python 문서에 새로운 예제, 튜토리얼 및 동영상이 추가되었습니다.
- 파이썬 3.10rc2와 호환됩니다.
- QtDBus, QtNetworkAuth, QtBluetooth 모듈을 추가했습니다.
- 새로운 시보켄 기능인 불투명 컨테이너를 추가하여 C++ 컨테이너를 사용하기 위해 파이썬으로 복사하는 것을 방지합니다.
- 이제 소스에서 PySide를 빌드할 때
qmake
대신qtpaths
을 사용할 수 있습니다. - QThreadPool 의 일부 메서드에 대한 std::함수 지원이 추가되었습니다.
- qmlRegisterSingletonInstance 에 대한 지원과 함께 새로운 QML 함수가 추가되었습니다.
플랫폼 변경 사항
기술 프리뷰 플랫폼
ARM의 Windows
- 기술 프리뷰 플랫폼으로 Windows on ARM64가 추가되었습니다.
- 빌드 대상으로 지원되며 아직 호스트는 지원되지 않습니다.
- 알려진 제한 사항:
- Qt XML은 아직 지원되지 않음( WebEngine ); Chromium에 대한 공식 지원 누락.
- 아직 SSL을 지원하지 않음; 공식 OpenSSL 지원이 누락되었습니다.
데스크톱 플랫폼
Apple Silicon의 macOS
- 대상 및 호스트 플랫폼으로 공식 지원이 추가되었습니다.
- Qt SDK의 라이브러리는 범용 바이너리로 빌드됩니다.
- 알려진 제한 사항:
- SSL 지원이 누락되었습니다.
- 포스트그레스큐 및 ODBC 데이터베이스 플러그인이 누락되었습니다(QTBUG-93204).
- JIT 지원이 누락되었습니다(QTBUG-93206).
Linux의 Wayland 클라이언트
- 이제 컴포저가 포인터-제스처-불안정-v1 프로토콜을 통해 전송하는 경우 터치패드 핀치 제스처가 확대/축소 및 회전 QNativeGestureEvent을 생성합니다. 이를 통해 Qt Quick PinchHandler 이 터치패드 핀치 제스처를 통해 작동할 수 있습니다. 두 손가락, 세 손가락 또는 네 손가락 제스처가 인식됩니다. Qt::PanNativeGesture 유형의 제스처는 세 손가락 또는 네 손가락으로 스와이프하여 생성할 수 있습니다. 두 손가락으로 쓸어 넘기면 이전과 마찬가지로 QWheelEvent이 생성됩니다.
모바일 플랫폼
Android
- 이전에 QtAndroidExtras의 QtAndroid 네임스페이스에 있던 일부 메서드(예: sdkVersion() 및 context())가 QNativeInterface::QAndroidApplication 로 이동되었습니다.
- QCoreApplication 에 새로운 권한 API를 구현했습니다.
- 크로스 플랫폼 대안(인텐트, 서비스 등)이 마련될 때까지 나머지 QtAndroidExtras API는 qtbase에 비공개 API로 남아있었습니다.
- 더 이상 안드로이드에서 지원되지 않는 더 이상 사용되지 않는 Ministro 코드를 제거했습니다.
- 사용자와 관련된 태그만 포함하도록 AndroidManifest.xml을 간소화하여 유지보수를 돕고 복잡성을 줄였습니다.
- QCDebug() 및 친구는 이제 Android 로그캣에서 카테고리를 태그로 사용합니다.
- Android Gradle 플러그인을 4.1.3으로 업데이트했습니다.
- Android 9 이상에서 위젯용 Android 스타일이 여전히 영향을 받지만 스타일과 관련된 비 SDK API 버그(QTBUG-71590)를 수정했습니다(QTBUG-96149).
- 기본 targetSdkVersion은 Google Play 스토어 요구 사항에 따라 30으로 설정됩니다.
- 사용되는 빌드 도구 버전 및 플랫폼 버전은 30으로 상향 조정됩니다.
- QDesktopServices 이제 사용자 지정 핸들러가 활성화되어 예를 들어 Android 앱 링크에서 작업할 수 있습니다.
- 애플리케이션이 QtActivity의 자체 확장을 만들지 않고도 인텐트의 소스를 확인할 수 있는 정보를 추가했습니다.
- QML 모듈에 대한 임포트를 수정하고 여러 QML 루트 경로를 사용할 수 있는 기능을 추가했습니다.
- 안드로이드에서 벌칸 빌드를 수정했습니다.
iOS
- CMake 지원이 개선되었습니다.
- 알려진 문제 해결:
- 기본 시작 화면 스토리보드가 누락되었습니다.
- 커스텀 라이브러리 설치 실패(QTBUG-95381).
임베디드 플랫폼
장치 생성용 Qt 라이선스로 제공됩니다.
Boot to Qt
- Boot to Qt 스택이 Yocto 3.3(하드노트)을 사용하도록 업데이트되었습니다.
- 참조 타겟으로 Intel NUC10(64비트 i5 x86)이 추가되었습니다.
- NVidia Jetson Tegra X2를 타깃으로 추가했습니다.
QNX
- QNX 버전 7.1 및 Ubuntu 20.04를 호스트로 추가했습니다.
- NXP iMX8QM을 레퍼런스 타깃으로 추가했습니다.
INTEGRITY
- INTEGRITY 버전 19.0.13 및 Ubuntu 20.04를 호스트로 추가했습니다.
- 퀄컴 스냅드래곤 8155P를 레퍼런스 타깃으로 추가했습니다.
WebOS
Qt 6.2가 Ubuntu 20.04를 개발 호스트로 사용하고 Raspberry Pi4 하드웨어를 사용하는 LG webOS OSE 2.13.1에서 작동하는 것이 확인되었습니다.
API 변경 사항 목록
이 페이지에는 Qt 6.2의 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.