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

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

1.假設這樣一種情況

我這里由一個Wideget 繼承自QWidget上面添加來一個QLabel, 一個QPushButton

我如何把這個Wideget放到QML中使用,那么我當QPushButton 按下后我怎么在QML中進行處理呢?

我這里指出一種方法

Wideget 繼承QGraphicsProxyWidget,對Wideget進行導出,在QML中創建

此對象,在他導出的信中進行處理,具體代碼。

還有就是這個網址上說明來很多QMLc++之間通訊的方法,很悲劇的是我的assistant中卻沒有者部分,不知道版本低還是怎么的。

http://doc.qt.nokia.com/4.7-snapshot/qtbinding.html



2.具體代碼



//widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QGraphicsProxyWidget>
#include <QPushButton>
#include <QLabel>
#include <QLineEdit>
class Widget : public QGraphicsProxyWidget
{
    Q_OBJECT
public:
    explicit Widget(QGraphicsItem *parent = 0);
    ~Widget();
    Q_INVOKABLE void changeText(const QString& s);
signals:
    void sendOnButton(void);
private:
    QPushButton *m_Btn;
    QLabel      *m_Label;
    QWidget     *m_MainWidget;
};
#endif // WIDGET_H


//widget.cpp
#include "widget.h"
Widget::Widget(QGraphicsItem *parent) :
    QGraphicsProxyWidget(parent)
{
    m_MainWidget = new QWidget;
    m_Btn = new QPushButton(m_MainWidget);
    m_Label = new QLabel(m_MainWidget);
    m_Btn->setText("PushButton");
    m_Btn->setGeometry(10, 10, 100, 30);
    m_Label->setGeometry(10, 40, 200, 30);
    QObject::connect(m_Btn, SIGNAL(clicked()), this, SIGNAL(sendOnButton()));
    setWidget(m_MainWidget);
}
Widget::~Widget()
{
    delete m_MainWidget;
}
void Widget::changeText(const QString& s)
{
    m_Label->setText(s);
    qDebug(" call Widget::changeText");
}


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


// UICtest.qml
import Qt 4.7
import UIWidget 1.0
Rectangle {
    width: 640
    height: 480
    color: "black"
    Widget { id: uiwidget; x: 100; y: 100; width: 400; height: 100;
        // 關鍵在這里,當一個信號導出后他的相應的名字就是第1個字母大寫,前面在加上on
        // 例如 clicked -- onClicked   colorchange --onColorchange;
        onSendOnButton: { uiwidget.changeText(textinput.text); }
    }
    Rectangle{
        x: 100; y: 20; width: 400; height: 30;  color: "blue"
        TextInput {id: textinput; anchors.fill: parent; color: "white" }
    }
}

說明:

這里實現的是當QPushButton按鈕按下后,獲取QMLTextInput上的文本,

QLabel進行設置,關鍵點在于Widget中的信號函數sendOnButton, 他導出后在QML

將引發的是onSendOnButton 只要在QML中對這個編寫處理就可以實現,具體看代碼。

posted @ 2011-08-04 21:59 RTY 閱讀(652) | 評論 (0)編輯 收藏

1.假設

1.c++中創建一個Person的對象,

2.QML中獲取并顯示數據

3.c++中改變數據后,顯示的數據能進行相應的改變

也就是說我們實際是在c++new一個對象出來,而把這個對象的數據在QML里面進行顯示


2.具體代碼



// person.h
#ifndef PERSON_H
#define PERSON_H
#include <QObject>
#include <QDeclarativeListProperty>
#include <QList>
#include <QColor>
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);
    // 一個簡單的函數, 獲取藍色
    Q_INVOKABLE QColor getColor(void) const;
    Q_INVOKABLE void changeNameAndAge(void);
signals:
    void sendNameChange(void);
    void sendAgeChange(void);
private:
    QString     m_Name;
    int         m_Age;
};
#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();
}
//---------------------------------
//
QColor Person::getColor(void) const
{
    return QColor(Qt::blue);
}
//---------------------------------
//
void Person::changeNameAndAge(void)
{
    setName("Luly");
    setAge(31);
}


// main.cpp
#include <QtGui/QApplication>
#include <QtDeclarative/QDeclarativeView>
#include <QtDeclarative/QDeclarativeEngine>
#include <QtDeclarative/QDeclarativeComponent>
#include <QtDeclarative/QDeclarativeContext>
#include "person.h"
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Person tmpPerson;
    tmpPerson.setName("Tom");
    tmpPerson.setAge(25);
    QDeclarativeView qmlView;
    qmlView.rootContext()->setContextProperty("ps",&tmpPerson);
    qmlView.setSource(QUrl::fromLocalFile("../UICtest/UICtest.qml"));
    qmlView.show();
    return a.exec();
}


// UICtest.qml
import Qt 4.7
Rectangle {
    width: 640
    height: 480
    Text { text: "Person name:" + ps.name; }
    Text { y: 20; text: "Person age:" + ps.age; }
    Rectangle{ x: 20; y: 40;  width: 20; height: 20; color: ps.getColor();}
    MouseArea{
        anchors.fill: parent;
        // 當鼠標按下后改變名字和年齡
        onClicked: { ps.changeNameAndAge(); }
    }
}



說明

我們在c++中創建來一個對象,并且在把這個對象導出給QML調用用,我們設置來屬性,QML中可以直接使用屬性來進行賦值.

posted @ 2011-08-04 21:31 RTY 閱讀(802) | 評論 (0)編輯 收藏

     摘要: 1.導出Person類,并且一個PersonGroup類,PersonGroup類是Person的一個組2.具體導出過程1.通過屬性來實現,具體的請看代碼3.具體代碼// person.h #ifndef PERSON_H #define PERSON_H #include <QObject> #include <QDeclarativeListProperty> ...  閱讀全文

posted @ 2011-08-04 21:30 RTY 閱讀(511) | 評論 (0)編輯 收藏

     摘要: 1.導出Person類,并且一個Job類,Job類包含一個Person的指針2.具體導出過程1.通過屬性來實現,具體的請看代碼3.具體代碼// person.h #ifndef PERSON_H #define PERSON_H #include <QObject> #include <QColor> class Person : public QObject ...  閱讀全文

posted @ 2011-08-04 21:29 RTY 閱讀(813) | 評論 (0)編輯 收藏

1.導出Person類中的屬性

2.具體導出過程

1.導出Person一個顏色屬性,一個int屬性

注意

1. 當需要實現屬性變化其他引用到此屬性的屬性也跟著變化的情況的話,需要設置屬性相應的信號

2. 設置屬性的時候,使用的類型必須是已經導出到QML中的類型

3.具體代碼


// person.h
#ifndef PERSON_H
#define PERSON_H
#include <QObject>
#include <QColor>
class Person : public QObject
{
    Q_OBJECT
    // 設置設置屬性的名字是 bgcolor
    // 對應讀取函數名字 bgColor
    // 對應寫函數名字 setBgColor
    // 屬性發生改變后發送信號 sendBgColorChange
    Q_PROPERTY(QColor bgcolor READ getBgColor WRITE setBgColor NOTIFY sendBgColorChange)
   // 設置設置屬性的名字是 count
   // 對應讀取函數名字 getCount
   // 對應寫函數名字 setCount
   // 屬性發生改變后發送信號 sendCountChange
   Q_PROPERTY(int count READ getCount WRITE setCount NOTIFY sendCountChange)
public:
    explicit Person(QObject *parent = 0);
    QColor getBgColor(void) const;
    void setBgColor(const QColor& color);
    int getCount(void);
    void setCount(int count);
signals:
    void sendBgColorChange(void);
    void sendCountChange(void);
private:
    QColor  m_Color;
    int     m_Count;
};
#endif // PERSON_H


// person.cpp
#include "person.h"
//---------------------------------
//
Person::Person(QObject *parent) :
    QObject(parent), m_Color("blue"), m_Count(0)
{
}
//---------------------------------
//
QColor Person::getBgColor(void) const
{
    return m_Color;
}
//---------------------------------
//
void Person::setBgColor(const QColor& color)
{
    m_Color = color;
    emit sendBgColorChange();
}
//---------------------------------
//
int Person::getCount(void)
{
    return m_Count;
}
//---------------------------------
//
void Person::setCount(int count)
{
    m_Count = count;
    emit sendCountChange();
}


// 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>();
    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
    color: per.bgcolor;
    Person{ id: per;}
    Text {
        id: textlabel;
        text: "text  " + per.count;
    }
    MouseArea{
        anchors.fill: parent;
        onClicked:{
            // 當鼠標按下后,由于屬性上有信號,當屬性發生改變后,
            // 所有引用此屬性的值的都相應的發生改變
            per.bgcolor = "red";
            per.count = 20;
        }
    }
}


說明:

person類中,設置了兩個屬性bgcolor, count ,他們分別在發送改變后調用自己對應的信號

具體看源代碼這里是設置來矩形框的顏色,文本框中文本。

posted @ 2011-08-04 21:26 RTY 閱讀(653) | 評論 (0)編輯 收藏

1.導出Person類中的成員方法

2.具體導出過程

導出的方法

1.使用Q_INVOKABLE

2.使用 槽機制


3.具體代碼



// person.h
#ifndef PERSON_H
#define PERSON_H
#include <QObject>
class Person : public QObject
{
    Q_OBJECT
public:
    explicit Person(QObject *parent = 0);
    Q_INVOKABLE void FirstEcho(void);
public slots:
    void SecondEcho(void);
};
#endif // PERSON_H


// person.cpp
#include "person.h"
Person::Person(QObject *parent) :
    QObject(parent)
{
}
void Person::FirstEcho(void)
{
    // 簡簡單單打印一句話
    qDebug("call Person::FirstEcho");
}
void Person::SecondEcho(void)
{
    qDebug("call Person::SecondEcho");
}


// 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>();
    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
    Person{ id: per;}
    MouseArea{
        anchors.fill: parent;
        onClicked:{
            per.FirstEcho();
            per.SecondEcho();
        }
    }
}


說明:

這里導出了兩個函數分別是FirstEcho SecondEcho 兩個函數,這兩個函數本別是使用

FirstEcho使用使用 Q_INVOKABLE導出,SecondEcho直接使用槽

調用函數在控制臺輸出一些信息,這里是在鼠標點擊界面后出發的

posted @ 2011-08-04 21:25 RTY 閱讀(539) | 評論 (0)編輯 收藏

關于導出C++的學習

說明,主要是對QT的文檔內例子進行的一些分別解說,希望更容易的理解

C++導出到QML的過程。



1.導出一個簡單的類Person

2.具體導出過程

          假設我們要導出一個Person類,

         A 那么就要考慮如何的一個類他才可以導出呢?

           他需要符合一定的條件

          1.繼承自QObject

          2.有默認構造函數

         B 如何導出呢?

                  通過一個函數

                  int qmlRegisterType(const char *uri, int versionMajor, int versionMinor, const char *qmlName)

                  int qmlRegisterType()

3.具體的例子


// person.h
#ifndef PERSON_H
#define PERSON_H
#include <QObject>
class Person : public QObject
{
    Q_OBJECT
public:
    explicit Person(QObject *parent = 0);
};
#endif // PERSON_H

// person.cpp
#include "person.h"
Person::Person(QObject *parent) :
    QObject(parent)
{
}


// 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>();
    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
    Person{}
}

說明:我們通過qmlRegisterType<Person>("People",1,0,"Person");

QML中導出Person,這個類在People包中,在QML中需要使用Person類的

話就必須包含People,通過import People 1.0來包含,之后就可以使用Person

創建對象使用來


posted @ 2011-08-04 21:21 RTY 閱讀(1472) | 評論 (0)編輯 收藏

廢話不多說直接上代碼
((xpqt4.7 sdk) 出現情況是,當一個類在直接寫在一個.h文件上后,在QML中調用會掛掉,我這里出現是在我調用的到處函數是獲取一個QString的時候,但是把類分別寫成.h和.cpp后,沒有出現此 情況,不知道具體的原因
// main.cpp
 int main(int argc, char *argv[])
 {
 QApplication app(argc, argv);
 QDeclarativeView view;
 view.rootContext()->setContextProperty("ls",new LS);
 view.setSource(QUrl::fromLocalFile("../QMLAPP/QMLtest.qml"));
 view.show();
 return app.exec();
 }
// LS.h
#ifndef LS_H
#define LS_H
#include <QObject>
#include <QColor>
class LS : public QObject
{
 Q_OBJECT
 Q_PROPERTY(QColor color READ getColor WRITE setColor NOTIFY colorChange)
public:
 LS(QObject *parent = 0);
 ~LS();
 // Q_INVOKABLE 用于導出函數,讓qml能使用
 Q_INVOKABLE QString getText(void) const;
 // 用于屬性
 QColor getColor(void) const;
 void setColor(const QColor &c);
signals:
 void sendMsg(const QString &s);
 // 用于屬性
 void colorChange(void);
public slots:
 void echoMsg(const QString &s);
private:
 QString m_str;
 QColor m_Color;
};
#endif // LS_H


//LS.cpp
#include "LS.h"
 LS::LS(QObject *parent)
 :QObject(parent),m_str("I am LS class"),m_Color(Qt::blue)
 {
 QObject::connect(this, SIGNAL(sendMsg(QString)), this, SLOT(echoMsg(QString)));
 }
 LS::~LS(){}
 QString LS::getText(void) const
 {
 return m_str;
 }
 // 用于屬性
 QColor LS::getColor(void) const
 {
 return m_Color;
 }
 void LS::setColor(const QColor &c)
 {
 m_Color = c;
 }
 void LS::echoMsg(const QString &s)
 {
 qDebug(" %s ", s.toLocal8Bit().data());
 }
//----------------------------------------------------------------------
// QMLtest.qml
Rectangle{
id: mainrect
width: 400; height: 300;
color: ls.color;
Text {
id: tls;
text: "click this"
}

MouseArea{
anchors.fill: parent;
onClicked: {
tls.text = ls.getText();
ls.sendMsg(" ok ");
}
}

}

posted @ 2011-08-04 21:19 RTY 閱讀(832) | 評論 (0)編輯 收藏

     摘要: 一.介紹quick3d是把qt3d部分以插件的形式導出,在QML中通過包含的形式來進行使用的。quick3d部分,使用的包含有import Qt3D 1.0 import Qt3D.Shapes 1.0Import Qt3D 是包含主要的一些Qt3D模塊,而Qt3D.Shapes 包含的是一些立方體,球體,圓柱體等的信息,方便使用各種簡單模型。二.具體的說明(這里沒有按照原來...  閱讀全文

posted @ 2011-08-04 21:14 RTY 閱讀(3736) | 評論 (0)編輯 收藏

     摘要: 1. 介紹QML是一種描述語言,主要是對界面效果等的一種描述,它可以結合javaScript來進行更復雜的效果及邏輯實現。比如做個游戲,實現一些更有趣的功能等2. 簡單的例子import Qt 4.7Rectangle {width: 200height: 200color: "blue"}代碼是繪制一個藍色的矩形,寬...  閱讀全文

posted @ 2011-08-04 20:06 RTY 閱讀(3011) | 評論 (0)編輯 收藏

僅列出標題
共31頁: First 10 11 12 13 14 15 16 17 18 Last 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲视频图片小说| 欧美成人黄色小视频| 国产日本欧美一区二区三区在线| 美日韩精品视频| 老司机一区二区三区| 久久久久综合| 久久亚洲高清| 狼狼综合久久久久综合网 | 国精产品99永久一区一区| 国产精品久久久久久久7电影| 欧美日韩一区精品| 欧美日韩免费高清| 国产精品免费网站在线观看| 国产精品久久久久毛片大屁完整版| 国产精品成av人在线视午夜片| 欧美视频在线一区二区三区| 国产精品一区二区男女羞羞无遮挡| 国产精品网红福利| 好吊日精品视频| 91久久综合| 亚洲性视频网站| 欧美一区二区黄色| 久久综合久久88| 亚洲国产欧美不卡在线观看| 亚洲国产成人久久综合| 一区二区av在线| 欧美一区激情视频在线观看| 老司机免费视频久久| 欧美午夜视频| 夜夜嗨网站十八久久| 亚洲一区二区三区涩| 欧美一级黄色录像| 欧美不卡视频一区发布| 一本色道久久88亚洲综合88| 欧美在线|欧美| 女同一区二区| 国产精品一区二区在线| 亚洲精品偷拍| 久久久久久久久久久一区 | 亚洲性视频h| 欧美成人资源| 国产欧美精品xxxx另类| 亚洲精品你懂的| 久久国产精品久久久久久电车| 欧美激情1区2区3区| 亚洲综合视频一区| 欧美精品123区| 在线日韩一区二区| 性久久久久久久久| 亚洲精品乱码视频| 久久久成人网| 国产在线精品一区二区夜色| 亚洲一区成人| 亚洲国产精彩中文乱码av在线播放| 亚洲男人的天堂在线观看| 欧美电影在线观看完整版| 韩国成人理伦片免费播放| 午夜日韩在线| 夜色激情一区二区| 欧美日韩p片| 夜夜爽av福利精品导航| 欧美黄色免费网站| 欧美专区一区二区三区| 欧美视频成人| 99综合精品| 亚洲成人在线视频网站| 免费中文日韩| 欧美一区二区成人6969| 国产欧美一区二区三区在线老狼| 99riav久久精品riav| 亚洲激情在线播放| 久久夜色精品国产欧美乱| 国产一区99| 性色av一区二区怡红| 亚洲天堂久久| 欧美日韩一区二区三区免费看| 一本色道久久88精品综合| 免费欧美在线视频| 午夜视频精品| 久久精品免费播放| 亚洲午夜精品| 欧美性大战xxxxx久久久| 亚洲精品久久久久久下一站| 老司机精品导航| 欧美制服丝袜| 国产日本欧美在线观看 | 国产自产2019最新不卡| 久久国产黑丝| 欧美中文字幕在线观看| 国产精品女人久久久久久| 香蕉久久精品日日躁夜夜躁| 在线一区欧美| 国内精品**久久毛片app| 久久精品一区二区三区不卡| 久久夜色精品国产亚洲aⅴ| 在线精品视频免费观看| 亚洲激情不卡| 欧美日本韩国一区二区三区| 亚洲欧美一区二区激情| 亚洲欧美日韩精品久久奇米色影视| 国产精品久久久久9999高清| 亚洲尤物视频网| 欧美激情aⅴ一区二区三区| 欧美成人一品| 亚洲视频在线观看一区| 一本色道久久加勒比88综合| 欧美大片一区| 亚洲少妇诱惑| 午夜精品www| 亚洲成色www久久网站| 亚洲国产一区二区三区a毛片| 久久国产综合精品| 亚洲欧美高清| 国产精品国产三级国产a| 久久夜色撩人精品| 久久婷婷丁香| 欧美三级视频在线| 国产亚洲精品bt天堂精选| 亚洲国产日韩欧美在线99| 亚洲视频在线视频| 亚洲大片在线| 欧美在线1区| 中文av一区二区| 免费成人高清视频| 午夜激情综合网| 欧美韩国在线| 久久精品国产精品亚洲精品| 欧美日韩一区二区免费视频| 久久只有精品| 国产欧美91| 亚洲片区在线| 亚洲成色777777女色窝| 亚洲一区精品电影| 一区二区三区色| 久久久噜噜噜久久| 久久婷婷丁香| 蜜桃伊人久久| 男女视频一区二区| 久久人人爽国产| 久久精品水蜜桃av综合天堂| 欧美好吊妞视频| 亚洲欧洲久久| 亚洲福利视频二区| 久久亚洲不卡| 久久精品一级爱片| 国产精品高清网站| 亚洲卡通欧美制服中文| 欧美精品午夜| 欧美xx视频| 日韩一区二区精品| 久久国产精品久久久久久久久久| 亚洲一区二区三区在线观看视频| 久久视频在线看| 欧美日韩国产综合一区二区| 亚洲激情在线视频| 亚洲国产精品激情在线观看| 亚洲天堂成人在线视频| 一本一本a久久| 欧美精品国产精品日韩精品| 亚洲欧洲在线观看| 国产亚洲成av人在线观看导航| 夜夜嗨av色综合久久久综合网| 亚洲日本成人网| 久久久夜色精品亚洲| 久久三级福利| 亚洲激情电影在线| 欧美成人午夜激情在线| 亚洲国内高清视频| 亚洲精品国产精品乱码不99按摩| 久久精品一区二区三区不卡| 亚洲一区二区三区在线观看视频| 国产精品久久亚洲7777| 亚洲在线国产日韩欧美| 亚洲欧美日本在线| 久久精品国产成人| 亚洲欧美日韩一区在线| 国产精品美女视频网站| 亚洲综合导航| 久久精品主播| 黄色亚洲在线| 欧美一区二区三区另类| 米奇777超碰欧美日韩亚洲| 欧美美女喷水视频| 亚洲免费影院| 久久久精品一品道一区| 亚洲国产美国国产综合一区二区| 蜜桃av综合| 久久频这里精品99香蕉| 亚洲精品网站在线播放gif| 欧美日韩在线观看一区二区三区| 在线视频精品一区| 久久精品综合一区| 亚洲精品一区二区三区99| 国产农村妇女精品| 久久一区亚洲| 一本一本久久a久久精品综合麻豆| 亚洲精品视频免费观看| 国产精品手机在线| 欧美全黄视频| 午夜精品视频在线观看|