커뮤니티 | 큐티/임베디드/큐토피아 | PODO | SDL | 마이크로윈도우 | 리눅스프로그래밍 | 기타 | 포인트순위 | 최근게시물최근게시물 RSS  
korone.net에 다루었으면 하는것은요?
 
 
 
 
 
364
641
3,878
3,337,889
  현재접속자 : 31 (회원 0)






배너 신청 문의

 
작성일 : 16-12-03 13:44
[QT/X11] QML 모델을 C++ 코드로 구현하는 방법 중 하나
 글쓴이 : 구름님
조회 : 654   추천 : 0  
-- CPP source
...
    QString jsonText =
            "{"
            "   \"data\": ["
            "       { \"color\": \"red\", \"text\": \"빨강\" },"
            "       { \"color\": \"green\", \"text\": \"녹색\" },"
            "       { \"color\": \"blue\", \"text\": \"파랑\" },"
            "       { \"color\": \"yellow\", \"text\": \"노랑\" },"
            "       { \"color\": \"purple\", \"text\": \"보라\" },"
            "       { \"color\": \"pink\", \"text\": \"분홍\" },"
            "       { \"color\": \"lightgreen\", \"text\": \"연두\" },"
            "       { \"color\": \"lightblue\", \"text\": \"하늘\" },"
            "       { \"color\": \"brown\", \"text\": \"갈색\" }"
            "   ]"
            "}"
            ;
    QJsonObject json = QJsonDocument::fromJson(jsonText.toUtf8()).object();
    QJsonArray array = json.value(QStringLiteral("data")).toArray();
    rootObject()->setProperty("model", array);
...

-- main.qml
Item {
    id: iamarootobject
    property variant model   // --- [1]
    ListView {
        id: iamalistview
        anchors.fill: parent
        model: iamarootobject.model
        delegate: Rectangle {
            width: parent.width; height: 30
            Text { anchors.fill: parent; text: modelData.text; color: modelData.color }
        }
    }
}

그러니까.. 2차원 배열(?), 테이블(?) 형식의 데이터를 qml 모델로 만드는 방법중 하나 입니다.
간단한 것인데, 구글링해도 자료를 찾아보기 힘들어 올려봅니다.

위의 [1] 부분이 재미나더군요.
property alias model: iamalistview.model => 이렇게 해놓으면 에러가 나고 인식을 못합니다.
반드시 property variant model로 사용자 프로퍼티를 만들어야 하더군요.
아마도 variant 부분에서 jsonarray가 variantmaparray(?)로 변경되어 처리되어지는 듯 합니다.
data가 두가지 이상의 KEY/VALUE로 구성된다면 modelData.KEY로 값을 얻어오고
한가지로만 구성되어 있으면 KEY/VALUE의 맵형식을 따를 필요없이 VALUE array만으로 해도 되니 - 1차원배열 -
이때는 'modalData'로만 적어서 값을 얻어오면 됩니다.
음.. 그리고 1차원 배열 형식이라면 차라리,
rootobject()->setProperty(..., QVariant::fromValue(qStringListData))
이렇게 쓰는것은 쉽게 찾아볼 수 있습니다.



devilqoo 17-02-01 13:28
 
참고하겠습니다. ^^
 
 

Total 201
번호 제   목 글쓴이 날짜 조회 추천
201 [QT/X11] QML 모델을 C++ 코드로 구현하는 방법 중 하나 (1) 구름님 12-03 655 0
200 [QT/X11] QWT for qt android (1) 구름님 03-07 2987 1
199 [QT/Win32] Qpaint를 이용해서 틱택토게임을 만들어보려하… 몽블랑 01-20 2791 0
198 [QT/Win32] QtSingleApplication 이용하기 (1) starbig 01-18 2855 0
197 [QT/Win32] Qt 에서 Daum Maps Api geo [ 주소->좌표 변환 ] 사… starbig 01-15 3067 0
196 [QT/Win32] Qt에서 윈도우 서비스 이용하기, Qt Windows Servic starbig 01-15 2680 0
195 [QT/Embedded] QTcpSocket사용 시 플러그 뽑힘 증상 체크 방법 요원009 11-13 5959 0
194 [QT/Win32] QML 에서 CustomModule 을 import 하여 사용하기 tmdwn 05-18 3791 0
193 [QT/Embedded] Qt update함수/repaint함수 사용법좀 알려주세여.. (1) 잉농 05-14 3475 0
192 [QT/Embedded] C++ Exception을 활용한 런타임 콜스택 정보 얻기 (1) korone 04-01 3460 0
191 [QT/Embedded] Qt 5.4.1 raspberry Pi 프로그램 개발하기 (5) 구름님 03-31 11330 1
190 [QT/Win32] Qt 다국어 처리 (2) korone 03-17 6922 0
189 [QT/Win32] signal to signal devilqoo 02-13 3142 0
188 [QT/Win32] Qt x64 바이너리 제공 사이트 (1) 인라이… 02-12 3150 1
187 [QT/Embedded] 우분투 Qt5 크로스 컴파일 (14/11/26 2차 수정) (9) 김아무… 11-12 9194 0
186 [QT/Embedded] Qt 5.3.2에서 Mouse Double Click시 이벤트 문제 (2) korone 11-11 3447 0
185 [QT/Embedded] QtWinExtras korone 11-11 3302 0
184 [QT/Win32] Qt 코딩 스타일 (편집 편) (4) devilqoo 10-22 6072 0
183 [QT/Win32] Qt와 C++11 (1) devilqoo 10-12 6267 1
182 [QT/Win32] Qt 에서의 이벤트 처리 (5) devilqoo 10-09 5792 0
181 [QT/Win32] QList와 QVector의 비교. (2) devilqoo 10-02 4369 0
180 [QT/Win32] Qt에서 사용되는 컨테이너들을 정리해 보았습… (4) devilqoo 10-01 4861 0
179 [QT/X11] qmake DEFINES 변수에 공백문자가 포함된 값을 설… (1) 별님 09-25 3250 0
178 [QT/Win32] 데이터 압축 관련 qCompress(), qUncompress() (9) 구름님 09-16 3485 0
177 [QT/Win32] QML 로 One-Source Multi-Platform (iOS, Android) 실행 tmdwn 09-03 4694 0
176 [QT/Win32] QML 로 iOS Application 제작하기 tmdwn 09-02 4744 0
175 [QT/Win32] QML 로 Android Application 제작하기 (4) tmdwn 09-02 4850 2
174 [QT/X11] qt에서 메모리 조작하기. (2) 나무나… 07-25 5022 0
173 [QT/Win32] Q_DECLARE_FLAGS 매크로 (2) 구름님 07-11 4072 2
172 [QT/Win32] Q_PROPERTY 매크로 (6) 구름님 07-09 5154 2
 1  2  3  4  5  6  7  


About korone.net | Copyright 2003 korone.net. All rights reserved.