한국어
Qt
 

QML에는 JavaScript의 전역객체 뿐만아니라 내장된 QML전용의 몇가지 전역객체를 제공한다. QtQuick 모듈이 import되었다면 추가 import없이 QML에 로드 된 모든 전역객체 및 helper method, enum등을 사용할 수 있다.

 

"Qt"객체는 유틸리티 함수, 속성 및 Qt 네임 스페이스에서 사용 가능한 enum을 포함한 전역 객체이다. 인스턴스화를 할 필요없다. 즉, new를 이용한 객체를 생성하지 않는다. 이것을 사용하려면 다음의 예처럼 사용할 수 있다.

import QtQuick 2.12
import QtQuick.Controls 1.4

Text{
    text: Qt.md5("https://makersweb.net")
    font.pixelSize: 25
    font.family: fonts.currentText
    color: Qt.rgba(0, 0.5, 1, 1)
}

ComboBox{
    id: fonts
    width: 150
    model: Qt.fontFamilies()
}

Qt_object.png

Enums

Qt 라이브러리 전체에서 사용되는 enum을 사용할 수 있다. 예를 들면 Qt.Key_Q, Qt.Key_1, Qt.Key_Enter 처럼 key 타입을 나타내는 열거형등을 사용할 수 있다. 

 

동적객체 생성 함수

다음 함수를 사용하면 파일이나 문자열에서 QML 항목을 동적으로 만들 수 있다. 

Qt.createComponent(url)

Qt.createQmlObject(string qml, object parent, string filepath)

 

다음은 문자열에서 QML 항목을 동적생성하는 예제이다.

import QtQuick 2.12
import QtQuick.Window 2.12

Window {
    id: window
    visible: true
    width: 640
    height: 480

    // 문자열 QML코드
    property string qmlstring: {
        "
        import QtQuick 2.12

        Rectangle{
            anchors.centerIn: parent
            width: 300
            height: 100
            border.width: 1

            Text {
                id: title
                anchors.centerIn: parent
                font.pixelSize: 20
                text: qsTr('makersweb.net')
            }
        }
        "
    }

    Text{
        text: "click me"
        font.pixelSize: 25
        anchors.centerIn: parent

        MouseArea{
            anchors.fill: parent
            onClicked: {
                // 문자열 QML코드를 동적으로 생성
                Qt.createQmlObject(qmlstring, window)
            }
        }
    }
}

 

clickme.png

makersweb.png

 

번호 제목 글쓴이 날짜 조회 수
공지 Qt프로그래밍(QtQuick) Beginner를 위한 글 읽는 순서 운영자 2019.01.05 1488
66 QtCreator Design으로 GUI만들기 (QML로 만드는 Hello World -2) file makersweb 2019.05.26 4
65 QML에서 멀티 스레드(multithreading) 프로그래밍 file makersweb 2019.05.25 19
64 QtSerialPort를 사용한 시리얼(Serial)통신 makersweb 2019.05.21 36
63 Qt기반의 오픈소스 프로젝트들 makersweb 2019.05.15 51
62 Q_D매크로와 d-pointer file makersweb 2019.05.07 37
61 가상키보드(Qt Virtual Keyboard)를 사용하는 방법 file makersweb 2019.05.03 49
60 Windows에서 Qt D-Bus를 사용하여 프로세스간 통신(IPC) file makersweb 2019.05.02 57
59 QML과 QtQuick 모듈 개념과 기본 타입들 makersweb 2019.04.26 135
» QML 전역 객체 (Global Object) file makersweb 2019.04.10 57
57 tslib의 ts_calibrate를 응용해서 Qt로 터치보정기능 구현 file makersweb 2019.04.06 46
56 GPU가 없는 장치에서 Qt Quick을 사용 makersweb 2019.04.02 73
55 QTextCodec클래스를 사용하여 유니코드와 EUC-KR 변환 makersweb 2019.03.25 41
54 qInstallMessageHandler를 이용한 디버그 메세지 출력 제어하기 makersweb 2019.02.25 73
53 Qt5기반 독립 프로세스(out-of-process)로 동작하는 가상키보드(virtual keyboard) file makersweb 2019.02.24 151
52 Qml 기본 컴포넌트 강좌 (4) - 모델 리스팅(Listing) file 운영자 2019.02.23 109
51 Qt Bluetooth를 이용한 시리얼(Serial) 통신 file makersweb 2019.02.17 203
50 Qml 기본 컴포넌트 강좌 (3) - 배치(positioning) 컴포넌트 file 운영자 2019.02.10 105
49 QString 문자열 다루기 예제 운영자 2019.01.26 621
48 Qt SQL을 이용한 가벼운 데이터베이스 다루기 file 운영자 2019.01.23 96
47 구글 클라우드 Speech-To-Text API를 Qt기반(C++, Qml)테스트 file makersweb 2019.01.20 330