한국어
파이썬
 

먼저 Python 및 PySide2등이 설치 되어 있어야한다. 다음의 Qt for Python 공식문서에 설치방법등이 자세히 나와있다.

https://doc.qt.io/qtforpython/contents.html

 

Qt Creator에서 Qt for Python - Empty를 선택

New Project Qt for Python.png

 

QML예제 소스코드는 특별히 다르지않다.

Window.qml

import QtQuick 2.11
import QtQuick.Window 2.11

Window {
    title: "PySide & QML"
    width: 320
    height: 240
    visible: true

    Column{
        anchors.centerIn: parent
        Image{
            source: "Py-128.png"
            anchors.horizontalCenter: parent.horizontalCenter
        }

        Text {
            id: hello
            text: qsTr("PySide2")
            font.pixelSize: 25
            horizontalAlignment: Text.AlignHCenter
            anchors.horizontalCenter: parent.horizontalCenter
        }
    }
}

 

PySide2 관련 모듈을 import 시켜주고 QmlEngine객체 생성 후 Window.qml을 로드한다. (C++과 다르지 않다.)

main.py 예제 코드

# This Python file uses the following encoding: utf-8
import sys
from os.path import *
from PySide2.QtCore import QObject
from PySide2.QtWidgets import QApplication
from PySide2.QtQml import *

if __name__ == "__main__":
    app = QApplication([])
    engine = QQmlApplicationEngine()
    dir = dirname(__file__)
    qmlFile = join(dir, 'Window.qml')
    engine.load(abspath(qmlFile))
    sys.exit(app.exec_())

 

Qt Creator의 Run을 클릭하면 윈도우가 보여진다.

pyside2+qml.png

번호 제목 글쓴이 날짜 조회 수
24 pybind11 에 대해서 makersweb 2023.07.23 4389
» Qt For Python(PySide2) QML 프로젝트 예제 file makersweb 2019.10.17 6014
22 명령어 한줄로 내컴퓨터를 웹서버로 file 운영자 2019.01.25 4751
21 pydbus 바인딩을 이용하여 서비스 데몬과 D-Bus통신 file makersweb 2018.03.12 3297
20 Boost Python을 이용하여 python을 위한 C++ API 바인딩 [5] file makersweb 2017.01.08 10496
19 [Python]EXE또는 DLL파일의 버전정보를 알아내기위한 몇가지 방법 makersweb 2015.06.25 9952
18 QML 및 Window 투명처리 file makersweb 2015.04.22 5218
17 [pyqt4]QTimer 예제 - 버튼을 누르면 3초후 함수 또는 메소드 호출 makersweb 2015.04.01 10872
16 Python + QML with PyQt4 makersweb 2015.03.24 9013
15 print를 로그파일로 생성하기 (log출력 Redirection) makersweb 2015.03.18 6736
14 외부 프로그램 실행 pjk 2015.02.10 16464
13 우분투에 Python새 버전 설치 사용법 pjk 2015.02.10 4292
12 How to Use Freeze pjk 2014.09.06 5866
11 [PyQt4]개발 프로그램 버전표시 메세지 박스 pjk 2014.09.02 8613
10 [PyQt4]여러가지 버튼 예제 file pjk 2014.08.29 15196
9 Python 문자열 관련 함수 레퍼런스 pjk 2014.08.29 7895
8 [PyQt4]스레드 및 ProgressBar 예제 코드 file pjk 2014.08.26 8956
7 [PyQt4]multiprocess 예제 코드 pjk 2014.08.26 8747
6 [PyQt4]마우스 클릭 이벤트 예제 코드 pjk 2014.08.26 7435
5 [PyQt4]폴더 또는 파일을 드레그하여 그 경로를 LineEdit로 가져오기 file pjk 2014.08.22 14332