이번 글에서는 이제 곧 릴리즈 될 Qt 5.8 의 새로운 특징에 대해서 알아보기로 하겠습니다.

 

Qt 5.8 의 새로운 특징

Qt Core Module

 

Qt GUI Module (Qt GUI 모듈)

 

Qt Quick Module (Qt Quick 모듈)

  • Qt Quick scene 그래프를 리팩토링하여 OpenGL 종속성을 제거하고 Vulkan 또는 Direct3D와 같은 다른 그래픽 API를 기반으로 백엔드를 활성화
  • Qt Quick 용 소프트웨어 렌더러 (이전 버전에서는 Qt Quick 2D Renderer)를 맞춤형 scene 그래프 백엔드로 통합
  • 소프트웨어 렌더러의 부분적인 업데이트에 대한 서포트를 진행
  • Direct3D 12 (experimental) 백엔드를 추가
  • .qml.js 파일에서 생성된 코드 와 데이터 구조를 디스크에 캐싱하여 부팅 시간과 메모리 소비를 단축. .qmlc.jsc 캐시 파일은 메모리 맵핑됨
  • 기존의 터치 와 마우스 이벤트 호출 대신에 새로운 내부 클래스인 QQuickPointerEvent 를 추가

 

Qt Quick Controls 2 Module (Qt Quick Controls 2 모듈)

  • 새로운 QML 유형 추가: DialogDialogButtonBoxMenuSeparatorRoundButton, 및 ToolSeparator.
  • Material 스타일에 ripple 효과를 추가
  • Material 및 Universal 스타일에 hover 효과를 추가
  • Material 및 Universal 스타일에 system theme 를 추가
  • 그외 추가된 platform QML 유형들: MenuBar, Menu, SystemTrayIcon, ColorDialog, FontDialog, MessageDialog, FileDialog, FolderDialog

 

Qt WebEngine Module (Qt WebEngine 모듈)

  • Chromium 53 기반
  • Windows MSVC 2015 업데이트 2 이상으로 요구사항 업데이트 됨
  • view-source 구성표 지원 추가
  • 커스텀 .bdic 파일의 맞춤법 검사 지원 추가
  • 도구설명 (HTML5 전역 타일 속성) 표시
  • 사용자 스크립트의 메타 데이터 (@include, @exclude, @match, @name, and @run-at) 에 대한 지원 추가
  • QML: 사용자 정의 대화 상자 및 상황에 맞는 메뉴의 사용 활성화
  • QML: eglfs 에서 Qt Quick Controls 2 를 기반으로 한 빌트 인 대화 상자 사용
  • 인쇄를 위한 지원 추가
  • CSS 배경 인쇄 활성화 셋팅 추가

 

Qt Bluetooth Module (Qt 블루투스 모듈)

  • macOS, iOS 및 WinRT에 Bluetooth 저에너지 주변 장치에 대한 지원 추가

 

Qt Multimedia Module (Qt 멀티미디어 모듈)

  • 오디오 볼륨을 하나의 스케일에서 다른 스케일로 변환하기 위해 QAudio::convertVolume() 와 매칭되는 QML 메소드 추가 (예를 들어 대수 에서 선형 스케일로 변환)
  • YUV 4 : 2 : 2 (YUYV, UYVY) 비디오 프레임을 VideoOutput QML 유형으로 렌더링하기 위한 지원 추가

 

Qt Network Module (Qt 네트워크 모듈)

  • 서버 측에 TLS-PSK 암호 체계를 위한 지원 추가
  • 구성 가능한 Diffie-Hellman 매개 변수에 대한 지원이 추가
  • 네트워크 액세스 관리자에서 HTTP / 2 에 대한 지원이 추가

 

Qt WebSockets Module (Qt WebSocket 모듈)

  • 클라이언트 및 서버 측에서 TLS-PSK 암호 체계에 대한 지원 추가

 

Qt Charts Module (Qt Charts 모듈)

  • candlestick chart 유형 추가

 

Qt 3D Module (Qt 3D 모듈)

  • 안정화에 중점을 둠: 버그 수정, 성능 및 테스트 적용 범위 개선
  • QPainter 를 사용하여 paint to texture feature 추가
  • Qt3D 의 이슈관련 커맨드 (예 : 프로파일 러) 에 대한 옵션 지원이 추가

 

Embedded Platforms (임베디드 플랫폼)

  • GBM 및 EGLDevice / Stream 이 KMS / DRM 와 같이 실행될 때 eglfs를 사용하여 향상된 멀티 스크린 기능 및 구성 가능
  • eglfs에서 소프트웨어로 렌더링 된 내용 (QWidget)의 90도 및 180도 회전에 대한 지원 추가

 

Configurability (사용자 정의 구성) : Qt Lite Project

  • Qt 5.8에는 Qt 빌드를 손쉽게 사용자 정의 할 수 있는 재작성 구성 시스템이 제공됩니다. 이 기능의 메인 포커스는 임베디드 장치 생성 (Device Creation) 이지만 모바일 또는 데스크톱 플랫폼 용 Qt 빌드를 구성하는데도 사용할 수 있습니다. 새로운 구성 시스템을 사용하면 Qt 에서 사용하지 않는 개별 기능과 API를 제거하여 보다 가벼운 라이브러리 세트를 배포 할 수 있습니다.

 

New Modules (새로운 모듈들)

  • Qt Wayland Compositor
    • Wayland compositor 를 개발하기 위한 프레임 워크 제공
  • Qt SCXML
    • SCXML 모델의 정적 구성과 런타임 통합을 Qt code 로 가능하게 함
  • Qt Serial Bus
    • CAN 및 ModBus 와 같은 다양한 산업용 직렬 버스 와 프로토콜에 대한 액세스 제공

위의 모듈들은 Technical preview 로 소개 되었으면 Qt 5.8 부터 완벽하게 지원되는 Qt Add-on 모듈 입니다.

 

Technology Preview 모듈

  • Qt Gamepad
    • Qt 게임 애플리케이션에서 게임 패드 입력에 대한 응답 가능
  • Qt Speech
    • 텍스트 음성 변환 및 음성 인식 기능. 현재는 텍스트 음성 변환 기능 만 제공됨. Windows, Linux, macOS 및 Android 에서 여러 음성 합성기의 백엔드를 포함
  • Qt Network Authorization
    • OAuth 프로토콜, 버전 1 및 2의 온라인 인증 지원

 

폐기되는 모듈

  • Qt Script

폐기 되는 모듈은  Qt 5.8 에 포함되어 있지만 향후 릴리스에서 제외 될 예정입니다.

 

삭제된 기능

  • Qt Quick 2D Renderer (해당 기능은 Qt Quick 에 병합됨)

 

변경된 API 리스트

아래 페이지에는 Qt 5.8 의 API 변경 사항 목록입니다.