QML 모델을 C++ 코드로 구현하는 방법 중 하나 > QT 강좌/팁

본문 바로가기
사이트 내 전체검색

QT 강좌/팁

QT/X11 QML 모델을 C++ 코드로 구현하는 방법 중 하나

페이지 정보

작성자 no_profile 구름님 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글 1건 조회 11,098회 작성일 16-12-03 13:44

본문

-- 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))
이렇게 쓰는것은 쉽게 찾아볼 수 있습니다.

추천0

댓글목록

Total 2,992건 1 페이지
QT 강좌/팁 목록
번호 제목 글쓴이 조회 추천 날짜
2992 Qtopia no_profile 이월홧 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 6 0 01-24
2991 Qtopia no_profile 이월홧 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 29 0 01-22
2990 QT/Embedded no_profile 여백마 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 67 0 12-25
2989 QT/Embedded no_profile sadgsd 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 85 0 12-22
2988 Qtopia no_profile 십이월핫 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 103 0 12-22
2987 Qtopia no_profile 십이월핫 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 105 0 12-21
2986 Qtopia no_profile 십이월핫 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 115 0 12-20
2985 Qtopia no_profile 십이월핫 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 107 0 12-19
2984 Qtopia no_profile 십이월핫 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 110 0 12-18
2983 QT/X11 no_profile asfa 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 76 0 12-04
2982 QT/X11 no_profile asfa 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 67 0 12-04
2981 QT/X11 no_profile asfa 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 74 0 12-04
2980 QT/X11 no_profile asfa 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 72 0 12-04
2979 QT/X11 no_profile asfa 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 70 0 12-04
2978 QT/X11 no_profile asfa 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 69 0 12-04
2977 QT/X11 no_profile asfa 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 72 0 12-04
2976 QT/X11 no_profile asfa 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 75 0 12-04
2975 QT/X11 no_profile asfa 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 72 0 12-04
2974 QT/X11 no_profile asfa 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 73 0 12-04
2973 QT/X11 no_profile asfa 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 70 0 12-04
2972 QT/X11 no_profile asfa 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 72 0 12-04
2971 QT/X11 no_profile asfa 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 66 0 12-04
2970 QT/X11 no_profile asfa 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 72 0 12-04
2969 QT/X11 no_profile asfa 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 71 0 12-04
2968 QT/X11 no_profile asfa 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 72 0 12-04
2967 QT/X11 no_profile asfa 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 78 0 12-04
2966 QT/X11 no_profile asfa 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 79 0 12-04
2965 QT/X11 no_profile asfa 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 69 0 12-04
2964 QT/X11 no_profile asfa 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 77 0 12-04
2963 QT/X11 no_profile asfa 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 75 0 12-04
게시물 검색

  • 게시물이 없습니다.

회원로그인

설문조사

새로운 홈페이지에 대한 평가

접속자집계

오늘
291
어제
747
최대
4,337
전체
5,035,517

Copyright © korone.net. All rights reserved.