青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 319, comments - 22, trackbacks - 0, articles - 11
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

QML與c++交互學習筆記(五) 導出組合類

Posted on 2011-08-04 21:30 RTY 閱讀(511) 評論(0)  編輯 收藏 引用 所屬分類: 轉載隨筆QML

1.導出Person類,并且一個PersonGroup類,PersonGroup類是Person的一個組


2.具體導出過程

1.通過屬性來實現,具體的請看代碼


3.具體代碼



// person.h
#ifndef PERSON_H
#define PERSON_H
#include <QObject>
#include <QDeclarativeListProperty>
#include <QList>
class Person : public QObject
{
    Q_OBJECT
    Q_PROPERTY(QString name READ getName WRITE setName NOTIFY sendNameChange)
    Q_PROPERTY(int age READ getAge WRITE setAge NOTIFY sendAgeChange)
public:
    explicit Person(QObject *parent = 0);
    QString getName(void) const;
    void setName(const QString& name);
    int getAge(void);
    void setAge(int age);
signals:
    void sendNameChange(void);
    void sendAgeChange(void);
private:
    QString     m_Name;
    int         m_Age;
};
class PersonGroup : public QObject
{
    Q_OBJECT
    Q_PROPERTY(QDeclarativeListProperty<Person> members READ members)
public:
    explicit PersonGroup(QObject *parent = 0);
    QDeclarativeListProperty<Person> members(void);
    Q_INVOKABLE int membersCount(void) const;
    Q_INVOKABLE Person *member(int index) const;
private:
    QList<Person*> m_MemberList;
};
#endif // PERSON_H


// person.cpp
#include "person.h"
//---------------------------------
//
Person::Person(QObject *parent) :
    QObject(parent), m_Name("unknow"), m_Age(0)
{
}
//---------------------------------
//
QString Person::getName(void) const
{
    return m_Name;
}
//---------------------------------
//
void Person::setName(const QString& name)
{
    m_Name = name;
    emit sendNameChange();
}
//---------------------------------
//
int Person::getAge(void)
{
    return m_Age;
}
//---------------------------------
//
void Person::setAge(int age)
{
    m_Age = age;
    emit sendAgeChange();
}
//---------------------------------
//
PersonGroup::PersonGroup(QObject *parent)
    :QObject(parent)
{
}
//---------------------------------
//
QDeclarativeListProperty<Person> PersonGroup::members(void)
{
    return QDeclarativeListProperty<Person>(this, m_MemberList);
}
//---------------------------------
//
int PersonGroup::membersCount() const
{
    return m_MemberList.size();
}
//---------------------------------
//
Person *PersonGroup::member(int index) const
{
    return m_MemberList.at(index);
}


// main.cpp
#include <QtGui/QApplication>
#include <QtDeclarative/QDeclarativeView>
#include <QtDeclarative/QDeclarativeEngine>
#include <QtDeclarative/QDeclarativeComponent>
#include "person.h"
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    qmlRegisterType<Person>("People",1,0,"Person");
    //qmlRegisterType<Person>();
    qmlRegisterType<PersonGroup>("People",1,0,"PersonGroup");
    QDeclarativeView qmlView;
    qmlView.setSource(QUrl::fromLocalFile("../UICtest/UICtest.qml"));
    qmlView.show();
    return a.exec();
}


// UICtest.qml
import Qt 4.7
import People 1.0 //如果是qmlRegisterType<Person>(); 導出就可以注釋這條
Rectangle {
    width: 640
    height: 480
    property int pgcurIndex: 0;
    PersonGroup{
        id: group;
        members: [
            Person { name: "A"; age: 20},
            Person { name: "B"; age: 21},
            Person { name: "C"; age: 22},
            Person { name: "D"; age: 23},
            Person { name: "E"; age: 24}
        ]
    }
    // 顯示這份工作的一些信息
    Rectangle{
        x: 100; y: 100;
        width: 100; height: 100;
        Text { id: text1;  text: ""}
        Text { id: text2;  y: 20; text: ""}
        Text { id: text3;  y: 40; text: ""}
    }
    MouseArea{
        anchors.fill: parent;
        onClicked:{
            //if (pgcurIndex < group.membersCount() - 1){ // 這里兩種方法都可以
            if (pgcurIndex < group.members.length - 1){
                pgcurIndex++;
            }else{
                pgcurIndex = 0;
            }
            // 顯示信息
            text1.text = "PersonGroup index: " + pgcurIndex;
            var person = group.member(pgcurIndex);
            text2.text = "Person name: " + person.name;
            text3.text = "Person age: "  + person.age;
        }
    }
}


說明

這里導出了兩個類Person, PersonGroup, PersonGroup保存來一個Person的組,

我們通過導出的函數來調用類面的成員,獲取成員的信息.

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            免费在线国产精品| 另类av导航| 欧美高清你懂得| 欧美成ee人免费视频| 欧美一区2区视频在线观看 | 亚洲日本一区二区三区| 嫩草国产精品入口| 亚洲精品在线观看视频| 久久久97精品| 亚洲精品免费网站| 久久亚洲图片| 久久精品一区蜜桃臀影院| 亚洲国产精品免费| 欧美女人交a| 欧美日韩一区二区视频在线观看| 久久精品国产免费| 一区二区三区欧美| 亚洲在线第一页| 欧美一区二区视频在线观看2020| 亚洲六月丁香色婷婷综合久久| 国产精品美女在线| 国产精品毛片高清在线完整版| 国产精品视频一| 国产精品久久久久久模特| 欧美激情第8页| 欧美精品二区| 欧美日韩国产区| 国产亚洲福利一区| 伊人久久男人天堂| 亚洲欧美高清| 性久久久久久久| 嫩模写真一区二区三区三州| 美女黄色成人网| 欧美日韩一级视频| 亚洲国产精品成人综合色在线婷婷| 亚洲欧洲精品一区二区三区不卡 | 久久久久国内| 午夜国产精品视频| 亚洲电影在线看| 亚洲综合色噜噜狠狠| 欧美另类在线观看| 狠狠色狠狠色综合系列| 最新中文字幕一区二区三区| 欧美韩日精品| 久久av老司机精品网站导航| 美女脱光内衣内裤视频久久影院| 免费观看成人| 悠悠资源网久久精品| 久久精品一区二区国产| 久久九九免费| 亚洲欧洲在线一区| 亚洲国产婷婷香蕉久久久久久| 国产一区二区三区直播精品电影 | 国产精品美女xx| av成人免费| 亚洲高清久久| 免费日韩av电影| 久久一区免费| 裸体女人亚洲精品一区| 亚洲三级免费| 亚洲综合大片69999| 国产区亚洲区欧美区| 欧美影院午夜播放| 久久色中文字幕| 欧美激情综合色| 久久中文精品| 亚洲国产高清自拍| 激情小说另类小说亚洲欧美| 99精品99| 亚洲国产综合在线| 欧美在线一区二区| 日韩视频―中文字幕| 亚洲欧美在线网| 亚洲午夜av在线| 欧美视频精品一区| 你懂的国产精品| 伊人成年综合电影网| 欧美专区日韩专区| 久久免费黄色| 99视频精品在线| 女人天堂亚洲aⅴ在线观看| 欧美一区二区三区在线观看| 欧美日韩精品一区二区| 亚洲女同在线| 亚洲一本大道在线| 欧美另类极品videosbest最新版本| 日韩小视频在线观看| 亚洲国产精品成人综合色在线婷婷| 中文高清一区| 亚洲综合视频网| 亚洲高清免费在线| 久久精品国产精品亚洲综合| 亚洲精品在线观看视频| 最新日韩中文字幕| 欧美午夜久久| 欧美一级淫片aaaaaaa视频| 欧美一区激情| 国产午夜精品久久久久久久| 欧美一级片一区| 欧美gay视频| 一区二区三区国产盗摄| 国产精品久久久久久福利一牛影视| 欧美一区二区在线视频| 欧美午夜不卡在线观看免费| 久久超碰97中文字幕| 久久五月天婷婷| 能在线观看的日韩av| 欧美成人三级在线| 国产精品qvod| 亚洲人成网站在线观看播放| 欧美高清日韩| 欧美在线一二三| 日韩一级裸体免费视频| 欧美美女视频| 亚洲电影免费观看高清完整版| 欧美精品偷拍| 久久另类ts人妖一区二区| 欧美日韩一视频区二区| 亚洲人体1000| 国产无一区二区| 亚洲与欧洲av电影| 99在线精品免费视频九九视| 久久精品av麻豆的观看方式| 亚洲小说欧美另类婷婷| 久久深夜福利| 欧美成人免费全部观看天天性色| 亚洲视频在线一区| 国产精品卡一卡二| 亚洲国产精品va在线观看黑人| 亚洲欧美中日韩| 亚洲无线观看| 亚洲综合二区| 国产精品视频999| 香蕉久久国产| 亚洲第一伊人| 亚洲欧洲av一区二区三区久久| 国产精品啊啊啊| 国产精品久久久一区麻豆最新章节 | 国产视频在线观看一区| 亚洲欧美日韩国产一区二区| 欧美一区二区在线免费观看| 伊大人香蕉综合8在线视| 日韩一级在线| 宅男噜噜噜66一区二区| 国产欧美一区二区三区国产幕精品| 欧美一区二区成人| 91久久精品久久国产性色也91| 亚洲成人在线观看视频| 一区二区日韩伦理片| 欧美11—12娇小xxxx| 欧美在线一二三区| 欧美激情国产日韩| 欧美激情第三页| 日韩一区二区免费看| 红桃av永久久久| 欧美一区激情| 午夜精品国产精品大乳美女| 欧美一区亚洲二区| 一区二区三区不卡视频在线观看 | 欧美经典一区二区三区| 亚洲精品免费一区二区三区| 亚洲一区二区免费| 一区二区三区国产在线观看| 亚洲日本激情| 国产一区二区视频在线观看| 国内精品视频在线观看| 一区二区三区成人| 免费观看国产成人| 亚洲国产精品久久| 亚洲欧美国产毛片在线| 国产精品wwwwww| 亚洲一区二区三区四区中文| 亚洲日本免费电影| 日韩视频免费大全中文字幕| 久久另类ts人妖一区二区 | 久久综合狠狠| 亚洲激情女人| 久久久久久久久综合| 亚洲免费观看高清完整版在线观看| 亚洲激情第一页| 国产欧美大片| 欧美顶级艳妇交换群宴| 亚洲校园激情| 亚洲乱码日产精品bd| 欧美aaa级| 久久久久国产成人精品亚洲午夜| 99精品欧美| 日韩亚洲综合在线| 久久在线观看视频| 在线视频亚洲| 一区二区视频免费在线观看 | 亚洲电影天堂av| 亚洲无限乱码一二三四麻| 亚洲人成绝费网站色www| 蜜桃精品久久久久久久免费影院| 亚洲一区二区三区免费在线观看| 欧美激情欧美狂野欧美精品| 亚洲国产精品一区制服丝袜| 欧美激情精品| 亚洲国产精品精华液2区45|