이 페이지에서

Qt 언어

Qt API는 C++로 구현되어 있으며, 크로스 플랫폼 개발을 더 쉽게 할 수 있도록 추가 기능을 제공합니다. Qt는 JavaScript를 기반으로 구축된 자체 선언형 언어인 QML과, QML을 기반으로 구축된 프레임워크인 Qt Quick 를 지원합니다. 이는 프로그램의 사용자 인터페이스, 즉 외관과 동작 방식을 기술하기 위해 설계되었습니다. C++ 사용의 대안으로, Python용 Qt 바인딩이 다음과 같이 존재합니다. Qt for Python.

C++

Qt 프레임워크는 매우 직관적이고 모듈화된 C++ 라이브러리 클래스의 포괄적인 세트를 포함하고 있으며, 애플리케이션 개발을 간소화하는 다양한 API를 갖추고 있습니다. Qt는 C++ 개발을 위한 풍부한 애플리케이션 구성 요소를 갖춘 직관적인 C++ 클래스 라이브러리를 제공하며, C++에 다음과 같은 기능을 추가합니다:

QML

Qt Qml는 QML 언어를 사용하여 애플리케이션과 라이브러리를 개발하기 위한 프레임워크를 제공합니다. 이 프레임워크는 언어 및 엔진 인프라를 정의하고 구현하며, 사용자 정의 유형을 통해 QML 언어를 활성화 및 확장하고 QML 코드를 JavaScript 및 C++와 통합할 수 있는 API를 제공합니다. ` Qt Qml ` 모듈은 ` QML API `과 ` C++ API`을 모두 제공합니다.

이 Qt Qml 이 모듈은 QML 애플리케이션을 위한 언어 및 인프라를 제공합니다. 이 Qt Quick 이 모듈은 사용자 인터페이스 구축을 위해 다양한 시각적 구성 요소, 모델-뷰 지원, 애니메이션 프레임워크 등을 제공합니다.

QML 언어를 사용하면 JSON과 유사한 구문으로 객체 트리를 정의할 수 있습니다. 또한 JavaScript로 로직을 구현할 수도 있습니다.

QML 애플리케이션을 위한 JavaScript

JavaScript 표현식을 사용하면 QML 코드에 애플리케이션 로직을 포함할 수 있습니다. ` Qt Qml `는 QML 및 C++에서 JavaScript 표현식을 실행하기 위한 프레임워크를 제공합니다. 이 프레임워크는 다음을 지원합니다:

  • 사용자 인터페이스와 애플리케이션 로직 모두의 신속한 개발.
  • QML이 제공하는 JavaScript 호스트 환경은 표준 제7판에 명시된 유효한 JavaScript는 물론, 이후 표준에서 추가된 일부 확장 기능도 실행할 수 있습니다.
  • JavaScript 내부에서 객체를 동적으로 생성할 수 있습니다. 이는 필요할 때까지 객체 인스턴스화를 지연시켜 애플리케이션 시작 시간을 단축하는 데 유용합니다.

Qt for Python

Qt for Python Qt용 공식 Python 바인딩을 제공하여, Python을 사용하여 Qt 애플리케이션을 작성할 수 있게 해줍니다. 이 프로젝트는 다음과 같은 구성 요소로 이루어져 있습니다:

  • PySide6: Qt 6용 공식 파이썬 바인딩
  • Shiboken6: C++ 코드를 Python에서 사용할 수 있도록 변환하는 바인딩 생성 도구
  • 툴링: PySide6을 활용한 애플리케이션 개발을 용이하게 해줍니다
  • Shiboken 모듈: 디버깅을 위한 유틸리티 함수를 제공합니다

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