튜토리얼: Qt Quick 및 Python
먼저 Qt for Python 애플리케이션 프로젝트를 만듭니다. 그런 다음 상용구 코드를 편집하여 Qt Quick 을 사용하여 Hello World라는 텍스트를 여러 언어로 표시하는 작은 애플리케이션을 개발합니다.

Qt for Python 애플리케이션을 만드는 더 많은 예제는 Qt for Python 예제 및 자습서를 참조하세요.
빈 프로젝트 만들기
기본 QML 파일이 있는 Qt for Python 애플리케이션을 만들려면 다음과 같이 하세요:
- File > New Project 으로 이동합니다.
- 프로젝트 Application (Qt for Python) > Qt Quick Application - Empty > Choose 을 선택하여 Project Location 대화 상자를 엽니다.

- Name 에 프로젝트 이름을 입력합니다. 예: hello_world_quick.
- Create in 에 프로젝트 파일의 경로를 입력합니다. 예:
C:\Examples. - Next (Windows 및 Linux의 경우) 또는 Continue (macOS의 경우)을 선택하여 Define Project Details 대화 상자를 엽니다.

- PySide version 에서 생성된 코드의 PySide 버전을 선택합니다.
- Next 또는 Continue 을 선택하여 Kit Selection 대화 상자를 엽니다.

- 프로젝트 빌드, 배포 및 실행을 위한 Python 키트를 선택합니다. 기본적으로 소스 디렉터리 내에 프로젝트에 대한 가상 환경이 생성됩니다. 글로벌 인터프리터를 사용하려면 Details 에서 키트의 Python과 이름이 같은 빌드 구성을 선택합니다.
- 프로젝트 설정을 검토하고 Finish (Windows 및 Linux의 경우) 또는 Done (macOS의 경우)를 선택하여 프로젝트를 만듭니다.
마법사가 다음 파일을 생성합니다:
pyproject.toml파이썬 프로젝트의 파일과 기타 구성이 나열된 파일.main.py는 상용구 코드가 있는 파일입니다.main.qml는 Qt Quick 컨트롤을 가져옵니다.requirements.txt생성된 코드의 PySide 버전을 저장하는 파일입니다. 이 파일을 사용하여 pip를 사용하여 필요한 PySide 버전을 설치할 수 있습니다.
프로젝트에 PySide6 설치하기
Edit 모드에서 Install 을 선택하여 프로젝트에 대한 PySide6을 설정합니다.

Qt Quick 가져오기 추가
마법사는 QGuiApplication 및 QQmlApplicationEngine 에 액세스하기 위해 main.py 소스 파일에 다음 임포트를 추가합니다:
import sys from pathlib import Path from PySide6.QtGui import QGuiApplication from PySide6.QtQml import QQmlApplicationEngine
메인 함수 추가
마법사는 QGuiApplication 인스턴스를 생성하고 QGuiApplication 객체에 시스템 인수를 전달하는 메인 함수도 추가합니다:
if __name__ == "__main__":
app = QGuiApplication(sys.argv)
...QML 파일 로드
메인 클래스의 다음 줄은 QQmlApplicationEngine 인스턴스를 생성하고 생성된 QML 파일을 엔진 객체에 로드합니다:
... engine = QQmlApplicationEngine() qml_file = Path(__file__).resolve().parent / "main.qml" engine.load(qml_file) ...
마지막으로 마법사는 파일이 성공적으로 로드되었는지 확인하는 코드를 추가합니다. 파일 로드가 실패하면 오류 코드와 함께 애플리케이션이 종료됩니다. 로딩에 성공하면 마법사는 app.exec() 메서드를 호출하여 Qt 메인 루프로 진입하고 Qt 코드 실행을 시작합니다:
...
if not engine.rootObjects():
sys.exit(-1)
sys.exit(app.exec())
...UI 디자인하기
Edit 모드에서 main.qml 파일을 열어 Qt Quick UI를 디자인합니다.
임포트 추가
Qt Quick 컨트롤 및 레이아웃에 대한 임포트를 추가합니다:
import QtQuick import QtQuick.Window import QtQuick.Controls import QtQuick.Layouts
속성 및 함수 추가
마법사가 기본 창을 추가합니다:
Window {
width: 640
height: 480
visible: true
title: qsTr("Hello World")
}표시되는 텍스트의 언어를 임의로 선택하는 속성 및 함수를 추가합니다:
...
readonly property list<string> texts: ["Hallo Welt", "Hei maailma",
"Hola Mundo", "Привет мир"]
function setText() {
var i = Math.round(Math.random() * 3)
text.text = texts[i]
}Qt Quick 컨트롤 추가
ColumnLayout 유형 내에 Text 및 Button QML 유형을 추가하여 UI를 디자인합니다:
ColumnLayout {
anchors.fill: parent
Text {
id: text
text: "Hello World"
Layout.alignment: Qt.AlignHCenter
}
Button {
text: "Click me"
Layout.alignment: Qt.AlignHCenter
onClicked: setText()
}
}또한 Qt Design Studio 를 사용하여 Qt Quick UI를 디자인할 수도 있습니다.
애플리케이션 실행하기
(Run)를 선택하여 애플리케이션을 실행합니다.
튜토리얼: Qt Widgets 및 Python, 튜토리얼: Qt Widgets UI 및 Python, Qt for Python 애플리케이션 개발을 참조하세요.
Copyright © The Qt Company Ltd. and other contributors. 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.