Detailed Description

 rowCount() function returns the total number of items in the model.

The columnCount() function is implemented for interoperability with all kinds of views, but by default informs views that the model contains only one column.



If your model is used within QML and requires roles other than the default ones provided by the roleNames() function, you must override it.


An insertRows() implementation must call beginInsertRows() before inserting new rows into the data structure, and it must call endInsertRows() immediately afterwards.

A removeRows() implementation must call beginRemoveRows() before the rows are removed from the data structure, and it must call endRemoveRows() immediately afterwards.

Note: Some general guidelines for subclassing models are available in the Model


6. Model-View-Delegate

원문 https://qmlbook.github.io/en/ch06/index.html



주의점 

 QAbstractListModel 을 상속 받아서 클래스를 만들경우 rowCount() 와 data() 함수를 만든다.




단어

one-dimensional - 1차원의 , 깊이가 없는

non-hierarchical

'Qt' 카테고리의 다른 글

QQuickView 옵션  (0) 2015.10.26
다국어처리  (0) 2015.10.26
Embedding C++ Objects into QML with Context Properties[26]  (0) 2015.10.26
Interacting with QML Objects from C++[10_25]  (0) 2015.10.25
Property Value Initialization Semantics[10_23]  (0) 2015.10.23

원문 : http://doc.qt.io/qt-5/qtqml-cppintegration-contextproperties.html


 QML 에서 C++ 코드를 사용할 떄   

QQmlContext class 를 사용한다. 



'Qt' 카테고리의 다른 글

다국어처리  (0) 2015.10.26
QAbstractListModel 클래스  (0) 2015.10.26
Interacting with QML Objects from C++[10_25]  (0) 2015.10.25
Property Value Initialization Semantics[10_23]  (0) 2015.10.23
Exposing Attributes of C++ Types to QML[QT]  (0) 2015.10.23


이는 QML 


QML 객체들과 상호작용하는 C++


- 모든 QML 객체들의 형태는 QObject에서 파생된 형태 이다. 

Once a QML object is created, it can be inspected from C++ in order to read and write to properties, invoke methods and receive signal notifications.


QML 객체가 생성되면 , 신호알림을 읽고 특성에 쓰기, 메소드를 호출하고 수신하기위해 C++에서 검사할 수 있다.


C++에서 QML 객체 불러오기


A QML document can be loaded with QQmlComponent or QQuickView.

QML 문서는 다음을 통해서 불러진다. 

 QQuickView is aQWindow-derived class, the loaded object will also be rendered into a visual display; QQuickView is generally used to integrate a displayable QML object into an application's user interface.


QQmlComponent or QQuickView. 의 차이?


<<좌측은 되지않았고 QQuickView를 이용해 QML파일을 불러왔다.


위는 속성 너비와 높이를 변경하는 소스이다.


You can also connect to any signals or call methods defined in the component usingQMetaObject::invokeMethod() and QObject::connect(). See Invoking QML Methods and Connecting to QML Signals below for further details.



Accessing Loaded QML Objects by Object Name- 아직못함


qml에서의 property 정의 


// MyItem.qml
import QtQuick 2.0

Item {
    property int someNumber: 100
}

다음과 같이 변경할수 있다.

QQmlEngine engine;
QQmlComponent component(&engine, "MyItem.qml");
QObject *object = component.create();

qDebug() << "Property value:" << QQmlProperty::read(object, "someNumber").toInt();
QQmlProperty::write(object, "someNumber", 5000);

위에 것은 안될 것같고 다음을 이용햇다.

qDebug()<<object->property("number").toInt();

    object->setProperty("number",200);
    object->property("number").toInt();

    qDebug()<<object->property("number").toInt();



Invoking QML Methods




버튼 클릭을 통해 속성을 변경해보자.


단어 

derived - (형용사) 파생된 , 유래된 

implement - (타동사) 시행하다  (명사)(옥외활동에 쓰이는 간단한)도구 기구

modified - (형용사) 완화된, 한정된, 수정된

component - (명사) 요소, 부품

invoking : 호출


원문</p> <p>Qt 공식사이트 의  - Interacting with QML Objects from C++

'Qt' 카테고리의 다른 글

QAbstractListModel 클래스  (0) 2015.10.26
Embedding C++ Objects into QML with Context Properties[26]  (0) 2015.10.26
Property Value Initialization Semantics[10_23]  (0) 2015.10.23
Exposing Attributes of C++ Types to QML[QT]  (0) 2015.10.23
git 설치  (0) 2015.06.29

+ Recent posts