精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Qt圖形用戶界面編程技術(shù)入門

移動開發(fā)
本文簡單介紹了信號和槽的連接以及布局的基本知識,并介紹了Qt的完全面向?qū)ο蟮臉?gòu)造和利用窗口小部件的方法。想多了解的話,那就先看看本文吧。

本文向介紹利用Qt開發(fā)圖形用戶界面的應(yīng)用程序的入門知識。這里,我們首先介紹了如何搭建Qt的開發(fā)環(huán)境,之后通過一些簡單的示例程序來循序漸進(jìn)地介紹Qt的“信號和槽”以及布局等基本概念。我們希望以此來幫助讀者盡快地對Qt圖形用戶界面應(yīng)用程序開發(fā)有一個初步的認(rèn)識,并為進(jìn)一步學(xué)習(xí)打下一個良好的基礎(chǔ)。
一、什么是Qt

Qt 是一個用于桌面系統(tǒng)和嵌入式開發(fā)的跨平臺應(yīng)用程序框架。它包括一個直觀的API和一個豐富的類庫,以及用于GUI開發(fā)和國際化的集成工具,另外它支持Java™和C++開發(fā)。利用它,我們無須重新編寫源代碼,便可以構(gòu)建運行在不同桌面操作系統(tǒng)和嵌入式設(shè)備上的軟件應(yīng)用程序。

借助Qt,我們可以更快速地構(gòu)建先進(jìn)的用戶界面:它不僅提供了豐富的標(biāo)準(zhǔn)widgets庫,動態(tài)布局引擎等GUI功能,還通過集成OpenGL® 與OpenGL ES提供了先進(jìn)的3D可視化支持,此外,它還具有強大的圖形畫布和Widgets樣式表,使我們得以使用變焦、旋轉(zhuǎn)和人機互動功能構(gòu)建先進(jìn)的用戶界面,并且能用寥寥幾行代碼便可快速定制自己的用戶界面。

雖然Qt提供了許多高級功能,但千里之行,始于足下,還是讓我們先從最基本的知識開始入手吧。下面介紹如何搭建Qt開發(fā)環(huán)境。

二、搭建Qt開發(fā)環(huán)境

雖然Qt自身帶有構(gòu)建工具,但它是在命令行下使用的,多少有些不便。所以,我們在此自己動手建設(shè)自己的Qt集成開發(fā)環(huán)境。下面介紹Qt開發(fā)環(huán)境的具體搭建過程。

首先,從互聯(lián)網(wǎng)上搜索并下載Dev-C++,安裝很簡單,一路回車就可以了。然后,到http://www.trolltech.com/download/下載***的安裝包,對于Windows系統(tǒng)來說,可以下載已編譯好的安裝包,當(dāng)前***版為qt-win-opensource-4.4.0-mingw.exe。在Qt安裝過程中唯一需要注意的是,當(dāng)安裝程序要求選擇mingw的路徑時,直接選擇Dev-Cpp的安裝路徑就行了。安裝好上述兩個軟件后,***還要到http://download.csdn.net/source/219376下載Qt4 For Dev-Cpp Templates,下載后將其解壓到Dev-Cpp的Templates文件夾下即可。這是用于在Dev-Cpp下開發(fā)Qt程序的模板資源。

***,把Qt安裝目錄中的\bin目錄中的動態(tài)鏈接庫拷貝到windows目錄下,這樣當(dāng)運行編譯好的Qt程序時,就再也不會碰到無法找到Qt的DLL 的問題了。

三、我們的***個Qt程序

迄今為止,我們已經(jīng)搭建好了Qt的開發(fā)環(huán)境,接下來就可以編寫我們的***個Qt程序。按照學(xué)習(xí)編程的老傳統(tǒng),一般編寫的***個程序都是一個Hello程序,我們也不例外。

運行Dev-C++,在其“文件”菜單中選擇“新建”菜單項,然后單擊“工程”命令,出現(xiàn)如下圖所示的對話框:

Qt圖形用戶界面編程技術(shù)入門

圖1 新建Qt工程

選擇其中的“Empty Project”,以便建立一個空項目,將項目名稱定為“hello”,其他選擇默認(rèn),如圖1所思,然后單擊“確定”按鈕。在彈出的“Create new project”對話框中選擇工程文件名稱和保存路徑,如圖2所示。

Qt圖形用戶界面編程技術(shù)入門

圖2 保存項目文件

上面已經(jīng)新建了一個空的Qt項目,現(xiàn)在為它添加一個源代碼文件。在Dev-C++的“文件”菜單中選擇“新建”菜單項,然后單擊“源代碼”命令,在彈出的確認(rèn)對話框中單擊“Yes”按鈕。在編輯區(qū)中錄入如下代碼,保存源代碼文件時將其命名為hello.cpp。

  1. #include <QApplication>   
  2. #include <QLabel>   
  3. int main(int argc, char *argv[])   
  4. {   
  5.     QApplication app(argc, argv);   
  6.     QLabel *label = new QLabel("Hello World!");   
  7.     label->show();   
  8.     return app.exec();   
  9. }  

現(xiàn)在,讓我們來編譯該程序。單擊“運行”菜單中的“編譯”菜單項,出現(xiàn)如下圖所示對話框時,說明沒有出現(xiàn)錯誤,編譯成功。

Qt圖形用戶界面編程技術(shù)入門

圖3 編譯成功

單擊“關(guān)閉”按鈕。很好,現(xiàn)在運行我們***個Qt應(yīng)用程序的時候到了,單擊“運行”菜單中的“運行”菜單項。來,看看我們的“大作”吧!

Qt圖形用戶界面編程技術(shù)入門

圖4 我們的hello程序

上面演示了在集成開發(fā)環(huán)境中開發(fā)Qt應(yīng)用程序的整個過程,下面開始介紹我們的源代碼。俗話說,萬事開頭難,所以我們在這里會盡可能細(xì)致地為讀者講解這些代碼。

  1. #include  <QApplication> 
  2. #include  <QLabel>  

在這個程序中,我們總共用到了兩個類QApplication和Qlabel,根據(jù)先聲明后使用的原則,我們在上面兩行將這兩個類的定義包含到我們的代碼中。對Qt來說,它的每一個類都有一個同名的頭文件與之對應(yīng),這個類的定義就在這個頭文件中。我們注意到,這兩個頭文件都是以大寫字母開頭的,實際上類對應(yīng)的頭文件都是這樣。

  1. int main(int argc, char *argv[])  

在這里,main()函數(shù)是程序的入口。在使用Qt的時候,main()一般只是執(zhí)行一些初始化工作,接著就把控制轉(zhuǎn)交給Qt庫,然后Qt庫通過事件來向程序報告用戶的行為。

  1. QApplication app(argc, argv);  

上面這行代碼為QApplication創(chuàng)建了一個對象,實際上,在每一個使用Qt的應(yīng)用程序中都必須有一個QApplication對象,該對象用來管理應(yīng)用程序的各種資源。一般說來,在使用Qt的窗口部件被之前,要首先創(chuàng)建QApplication對象。因為Qt支持命令行參數(shù),所以這里的QApplication帶有argc和argv,用來接收入口函數(shù)從系統(tǒng)那里接收到的命令行變量,以便進(jìn)一步處理。

  1. QLabel *label = new QLabel("Hello World!");  

這一行創(chuàng)建了一個窗口部件QLabel,我們用它來顯示一則消息“Hello World!”。按照Qt的術(shù)語,一個窗口部件就是用戶界面中的一個可見的用戶界面對象,它能夠處理用戶輸入和繪制圖形,它相當(dāng)于Windows的術(shù)語中的一個控件或容器。我們可以改變窗口部件的全部觀感、主要屬性(比如顏色等)以及窗口部件的內(nèi)容等。我們常見的按鈕、菜單、滾動條和框架等都屬于窗口部件。窗口部件可以包含其它的窗口部件,比如應(yīng)用程序窗口通常就是一個窗口部件,而其中又包含了QMenuBar、QToolBars、QstatusBar以及其它的窗口部件。大多數(shù)應(yīng)用程序使用一個QMainWindow或者QDialog作為自己的主窗口,但是這不是必須的的,實際上任何窗口部件都能當(dāng)作程序的主窗口。就本例而言,窗口部件QLabel就是應(yīng)用程序的主窗口或者說是主窗口部件。如果用戶關(guān)閉了主窗口部件,應(yīng)用程序就會退出。

  1. label->show();  

默認(rèn)時,窗口部件是不可見的,之所以這樣,是為了讓我們可以在顯示之前對窗口部件進(jìn)行必要的設(shè)定,以防止閃爍現(xiàn)象的發(fā)生。上面這一行代碼的作用是使標(biāo)簽變?yōu)榭梢姷摹?/p>

  1. return app.exec();  

上面這一行代碼將應(yīng)用程序的控制權(quán)交給Qt,交權(quán)后,應(yīng)用程序便進(jìn)入事件循環(huán)狀態(tài)。這時的程序只是靜靜地等待用戶的鼠標(biāo)或鍵盤之類的動作。當(dāng)用戶發(fā)出動作時,就會生成相應(yīng)的事件,如果這些事件正是該程序需要響應(yīng)的那些事件,它便會執(zhí)行一些函數(shù)來響應(yīng)用戶的動作。

迄今為止,我們已經(jīng)編譯運行了***個Qt應(yīng)用程序,并且對該程序的源代碼有了初步的了解,但是我們的這個程序非常簡單,簡單到顯示一條消息后就只能通過標(biāo)題欄上的“關(guān)閉”按鈕來關(guān)閉。接下來我們將進(jìn)一步學(xué)習(xí)如何通過窗口部件來跟用戶互動。

#p#

四、跟用戶互動

在第二個實例中,我們將為大家介紹如何響應(yīng)用戶的動作。該程序也很簡單,它僅由一個按鈕組成,當(dāng)用戶單擊該按鈕時,程序就會退出。這個應(yīng)用程序運行畫面如下所示:

Qt圖形用戶界面編程技術(shù)入門

圖5 利用按鈕跟用戶進(jìn)行交互

下面是該程序的源代碼:

  1.     #include  <QApplication> 
  2.   #include  <QPushButton> 
  3.   int main(int argc, char *argv[])   
  4.   {   
  5.   QApplication app(argc, argv);   
  6.   QPushButton *button = new QPushButton("Quit");   
  7.   QObject::connect(button, SIGNAL(clicked()),   
  8.   &app, SLOT(quit()));   
  9.   button->show();   
  10.   return app.exec();   
  11.   }  

我們看到,這里的源代碼跟上面的非常相似,只有兩處不一樣,一是主窗口部件是QPushButton,而非Qlabel;二是將用戶操作(如這里的單擊按鈕)跟一段代碼聯(lián)系在一起。當(dāng)用戶執(zhí)行某些操作,或狀態(tài)發(fā)生變化時,Qt的窗口部件就會發(fā)出一些信號來指示這些事件的發(fā)生。舉例來說,當(dāng)用戶單擊按鈕時,QPushButton就會發(fā)出一個clicked()信號。這時,跟這個事件相聯(lián)系的代碼就會就會自動執(zhí)行。在QT中,對這樣的代碼有一個專門的稱謂,叫做槽。對這里的例子來說,我們將按鈕的clicked()信號連到QApplication的槽quit()上。所以,單擊Quit按鈕,或按下空格鍵時,該程序就會終止。

這里涉及到Qt的一個基本思想,那就是“信號和槽”。這一思想需要專門一篇文章來進(jìn)行解釋,我們這里只要知道,每個Qt對象,無論是直接還是間接繼承QObject對象的對象,都能用信號發(fā)出信息,也能用槽來接收信息并作出反應(yīng)。這里要注意的是,所有窗口部件都是Qt對象,因為它們繼承自QWidget,而Qwidget又繼承自QObject。

這里的connect()是QObject中的一個靜態(tài)函數(shù),它的作用是將信號和槽連接在一起。比如本例中,它把按鈕的clicked()信號和QApplication的槽quit()連接起來了,所以當(dāng)這個按鈕被按下的時候,這個程序就退出了。

五、窗口部件的布局

讀者可能已經(jīng)發(fā)現(xiàn),我們上面的兩個例子中,都只是用了一個窗口部件,但是現(xiàn)實情況卻是一個程序界面中有多個窗口部件,并且一些窗口部件通常還位于其他窗口部件之內(nèi)。這時問題就來了:如何將一些窗口部件放進(jìn)另一個窗口部件中?放進(jìn)去以后又如何對它們進(jìn)行布置呢?別急,這些事情Qt的設(shè)計者早就替我們考慮到了,下面就介紹Qt的自動布局支持。

除了解釋如何使用布局來管理窗口部件在窗口中的幾何形狀之外,本示例程序還將為讀者介紹如何使用信號和槽來實現(xiàn)兩個窗口部件的同步。如下圖所示:

Qt圖形用戶界面編程技術(shù)入門

圖6 窗口部件布局與同步示例

我們可以在這個界面中輸入一個1到100之間的數(shù)字。當(dāng)然,我們可以用兩種方法輸入數(shù)字,既可以拖動滑塊,也可以使用Spinbox按鈕。但是,無論使用哪一種方式,只要一邊表示的數(shù)字發(fā)生了變化,另一邊也會隨之改變,所以它們總能保持一致。該示例程序的源代碼如下所示:

  1.  #include <QApplication> 
  2.   #include <QHBoxLayout> 
  3.   #include <QSlider> 
  4.   #include <QSpinBox> 
  5.   int main(int argc, char *argv[])   
  6.   {   
  7.   QApplication app(argc, argv);   
  8.   QWidget *window = new QWidget;   
  9.   window->setWindowTitle("Enter Your Number");   
  10.   QSpinBox *spinBox = new QSpinBox;   
  11.   QSlider *slider = new QSlider(Qt::Horizontal);   
  12.   spinBox->setRange(0, 100);   
  13.   slider->setRange(0, 100);   
  14.   QObject::connect(spinBox, SIGNAL(valueChanged(int)),   
  15.   slider, SLOT(setValue(int)));   
  16.   QObject::connect(slider, SIGNAL(valueChanged(int)),   
  17.   spinBox, SLOT(setValue(int)));   
  18.   spinBox->setValue(60);   
  19.   QHBoxLayout *layout = new QHBoxLayout;   
  20.   layout->addWidget(spinBox);   
  21.   layout->addWidget(slider);   
  22.   window->setLayout(layout);   
  23.   window->show();   
  24.   return app.exec();   
  25.   }  

 
該應(yīng)用程序的界面由三個窗口部件組成,分別是QSpinBox、QSlider和QWidget,其中QWidget是本程序的主窗口,然后在QWidget內(nèi)再引用QSpinBox和QSlider,所以后兩者是前者的子部件,或者說前者是后兩者的父部件。QWidget本身沒有父部件,因為它是一個***窗口。QWidget及其子類的構(gòu)造函數(shù)使用參數(shù)QWidget *來規(guī)定其父部件。

下面我們對源代碼進(jìn)行解釋:

  1. QWidget *window = new QWidget;   
  2. window->setWindowTitle("Enter Your Number");  

上面兩行將QWidget設(shè)置為該程序的主窗口,其中setWindowTitle()用于規(guī)定顯示在這個窗口標(biāo)題欄中的文本內(nèi)容。
 

  1. QSpinBox *spinBox = new QSpinBox;   
  2. QSlider *slider = new QSlider(Qt::Horizontal);  

上面兩行創(chuàng)建了一個QSpinBox和一個QSlider,然后,

  1. spinBox->setRange(0, 100);   
  2. slider->setRange(0, 100);  

這兩行設(shè)置了其有效范圍,我們這里選擇0至100之間的數(shù)字。

  1. QObject::connect(spinBox, SIGNAL(valueChanged(int)),   
  2. slider, SLOT(setValue(int)));   
  3. QObject::connect(slider, SIGNAL(valueChanged(int)),   
  4. spinBox, SLOT(setValue(int)));  

在上面的兩個語句中,我們調(diào)用了QObject::connect()兩次,實現(xiàn)了Spinbox按鈕和滑塊之間的同步,從而使得顯示的結(jié)果將保持一致。當(dāng)一個窗口部件中的值發(fā)生變化時,它就會發(fā)出valueChanged(int)信號,并用這個新值來調(diào)用另一個窗口部件的槽setValue(int),這樣它們就能保持一致。

  1. spinBox->setValue(60);  

上面這一行代碼將Spinbox按鈕的值設(shè)為60。這時,QSpinBox會發(fā)出valueChanged(int)信號,其中參數(shù)int為60,這個參數(shù)傳遞給QSlider的槽setValue(int),這個槽繼而將滑塊值設(shè)為60。 因為滑塊自己的值變了,所以它會發(fā)出信號valueChanged(int)來觸發(fā)Spinbox按鈕的槽setValue(int)。不過由于Spinbox按鈕的值早已是60,兩者是一致的,所以它就不會繼續(xù)發(fā)信號了,同步過程至此結(jié)束。

  1. QHBoxLayout *layout = new QHBoxLayout;   
  2. layout->addWidget(spinBox);   
  3. layout->addWidget(slider);  

通過上面三行代碼,我們新建了一個一個布局管理器,然后將Spinbox按鈕和滑塊這兩個窗口部件交給這個布局管理器,讓它來對這兩個部件的大小和位置等作出安排。一個布局管理器是一個對象,用于設(shè)置窗口部件的位置和尺寸。Qt的布局管理器分為三大類:

QHBoxLayout將窗口小部件從左至右,或者從右到左水平放置窗口部件。

QVBoxLayout將窗口小部件自上而下垂直布置。

QGridLayout將窗口小部件布置在一個網(wǎng)格中。

 

  1. window->setLayout(layout);  

我們在以上代碼中調(diào)用QWidget::setLayout(),這會在窗口中安裝一個布局管理器。這樣一來,QSpinBox和QSlider又進(jìn)一步成為安裝布局管理器的窗口部件的子部件,所以當(dāng)我們創(chuàng)建一個將來要放入布局管理器的窗口部件時,不用顯式地指出其父部件。

如果我們要想顯式地給QSpinBox和Qslider指定父窗口部件的話,可以在創(chuàng)建它們時將參數(shù)window傳遞給QSpinBox和QSlider的構(gòu)造函數(shù),以規(guī)定讓window作為它們的父部件。

使用布局管理器有很大的優(yōu)點,就像上面看到的那樣,即使不對任何窗口部件的位置和尺寸進(jìn)行任何顯式地設(shè)置,***QSpinBox和QSlider還是很好地并排布置在了一起。這是因為QHBoxLayout會根據(jù)需要,自動地為其負(fù)責(zé)的窗口部件指定合適的位置和大小。更重要的是,該布局管理器將我們從在程序中硬編碼窗口部件的屏幕位置的瑣碎工作中解放了出來,它會替我們處理窗口平滑縮放等相應(yīng)事項。

小結(jié)

本文簡單介紹了信號和槽的連接以及布局的基本知識,并介紹了Qt的完全面向?qū)ο蟮臉?gòu)造和利用窗口小部件的方法。我們發(fā)現(xiàn),利用Qt構(gòu)造用戶界面的方式簡潔而又靈活,我們只需要創(chuàng)建窗口部件對象,然后根據(jù)需要為其設(shè)置屬性即可。此外,我們還可以將生成的窗口部件添加到布局管理器中,這樣,布局管理器就會自動地調(diào)整這些窗口部件的尺寸和位置。同時,我們還可以通過信號和槽機制方便的將用戶界面的行為跟Qt的窗口部件聯(lián)系在一起,這樣就能實現(xiàn)程序跟用戶的互動了。

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-21 14:12:14

Qt Linux 登錄界面

2011-07-15 10:27:21

PHP

2023-11-29 07:30:08

Python用戶界面

2024-05-06 12:35:26

C#編程遞歸

2010-01-15 10:39:32

Firefox 4.0圖形用戶界面

2009-07-27 17:58:10

ASP.NET數(shù)據(jù)庫編

2011-05-16 11:21:44

Web 2.0

2009-10-20 10:23:08

VB.NET多線程編程

2012-03-29 13:17:27

GoogleWEB

2022-07-19 15:24:45

Python編程技術(shù)

2024-10-14 12:34:08

2011-10-09 08:58:11

程序員

2020-10-16 10:33:16

編程技術(shù)開發(fā)網(wǎng)站

2024-09-24 10:00:55

2024-10-28 16:03:24

2012-01-16 11:03:09

javaswing

2012-04-19 13:21:02

Javaswing

2018-02-02 16:41:01

程序員編程Web

2015-08-31 10:46:05

java實用編程技術(shù)

2010-01-20 10:31:18

C++編程技術(shù)
點贊
收藏

51CTO技術(shù)棧公眾號

日本美女视频一区二区| 欧美久久综合网| 亚瑟在线精品视频| 欧美在线3区| 一区二区三区www污污污网站| 亚洲天堂免费| 亚洲精选在线观看| www.51色.com| 欧美极品影院| 一区二区国产视频| 日韩aⅴ视频一区二区三区| 91肉色超薄丝袜脚交一区二区| 欧美三级不卡| 中文字幕视频在线免费欧美日韩综合在线看| 国产乱码一区二区三区四区| 男人久久天堂| 亚洲日本电影在线| 日韩.欧美.亚洲| 香蕉视频911| 国产精品一区二区91| 国产精品第一第二| 日本五十路女优| 91精品国产乱码久久久久久久| 亚洲精品丝袜日韩| 国产精品成人99一区无码| 日韩电影精品| 日本韩国一区二区三区视频| 男人日女人视频网站| 成人video亚洲精品| 91久色porny| 国产精品视频免费一区| 国产欧美一级片| 美日韩一级片在线观看| 日韩av手机在线观看| 精品肉丝脚一区二区三区| 天天综合一区| 久久国产一区二区三区| 人成免费在线视频| 欧美美女视频| 国产亚洲欧美一区| www在线观看免费视频| 免费看成人人体视频| 精品国产免费视频| 人妻精油按摩bd高清中文字幕| 日本在线一区二区| 88在线观看91蜜桃国自产| 亚洲免费一级视频| 黑人一区二区三区| 欧美日韩一区二区三区四区五区| 久久人妻精品白浆国产| 在线看片福利| 日韩欧美中文第一页| 欧洲av无码放荡人妇网站| av在线私库| 偷窥少妇高潮呻吟av久久免费| 777av视频| 中文不卡1区2区3区| 色综合一个色综合亚洲| 成人小视频在线看| 色综合天天色| 欧美高清一级片在线| 日韩 国产 一区| 欧美影院视频| 欧美电影免费观看完整版| 女同性αv亚洲女同志| 97久久综合区小说区图片区| 亚洲黄色av女优在线观看 | 久久成人久久爱| 国产欧美精品日韩| 97人妻精品一区二区三区视频| 国产一区二区三区蝌蚪| 7777奇米亚洲综合久久| 日本精品久久久久| 国产亚洲短视频| 亚洲精品成人自拍| 在线网址91| 精品国产成人av| 午夜dv内射一区二区| 欧美aaaaaa| 精品国产伦一区二区三区观看体验| 性欧美18—19sex性高清| 天堂网av成人| 日韩中文字幕在线播放| 国产亚洲精品久久777777| 亚洲作爱视频| 国产日韩欧美在线看| 国产av无码专区亚洲av麻豆| 99国产精品一区| 亚欧精品在线| 国产精品—色呦呦| 欧洲激情一区二区| 波多野结衣三级视频| 色婷婷综合久久久久久| 久久国内精品一国内精品| 国产黄色片免费看| 另类小说一区二区三区| 国产福利不卡| 91欧美在线视频| 午夜精品福利视频网站| 日韩不卡一二三| 九九热hot精品视频在线播放| 最近2019中文字幕一页二页| 青青青在线视频| 美女视频免费一区| 国产综合 伊人色| 免费网站免费进入在线| 亚洲aⅴ怡春院| 自拍偷拍21p| 日本中文字幕在线一区| 久久亚洲精品国产亚洲老地址| 黄色片免费观看视频| 久久99精品国产麻豆不卡| 国产综合第一页| 9191在线播放| 欧美精品在线观看一区二区| 伊人网在线视频观看| 一区二区三区在线电影| 日产精品99久久久久久| 日本精品久久久久| 性欧美一区二区| 亚洲深夜福利| 国产精品日韩欧美一区二区| 91最新在线视频| 欧美日韩国产a| 国产在线观看h| 一本久道综合久久精品| julia一区二区中文久久94| 日本暖暖在线视频| 欧美伊人久久大香线蕉综合69| 人妻无码中文久久久久专区| 欧美日本免费| 91牛牛免费视频| 91xxx在线观看| 91久久国产最好的精华液| 免费的av网站| av成人黄色| 精品乱码一区二区三区| 国内小视频在线看| 精品日韩成人av| 欧美激情精品久久| 国产ts人妖一区二区| 天堂а√在线中文在线| 欧美国产中文高清| 久久99热精品这里久久精品| 国产手机精品视频| 亚洲理论在线观看| 亚洲免费观看在线| 在线日韩视频| 福利视频久久| 久久青草伊人| 亚洲区在线播放| 亚洲精品久久久久久久蜜桃| 久久久精品tv| 亚洲色图久久久| 日韩电影二区| 成人午夜小视频| 伊人影院在线视频| 精品免费视频.| 香蕉视频一区二区| 91丝袜美腿高跟国产极品老师| 国产精品免费入口| 国产伦精品一区二区三区视频| 国产精品r级在线| 日本免费中文字幕在线| 91精品国产欧美日韩| 久久久久久久久久久网| 99热在这里有精品免费| 国产无套内射久久久国产| 欧美日韩在线网站| 114国产精品久久免费观看| 丁香花在线电影小说观看| 日韩精品视频免费专区在线播放 | 欧美一区二区三区啪啪| 久久午夜无码鲁丝片| 91色|porny| 狠狠躁狠狠躁视频专区| 一区二区在线影院| 精品日本一区二区三区| h1515四虎成人| 欧美日韩福利电影| 酒色婷婷桃色成人免费av网| 欧美日韩黄色影视| 久久久久久久久99| 欧美激情在线看| 中文写幕一区二区三区免费观成熟| 亚洲激精日韩激精欧美精品| 欧美一区二区在线视频观看| 高清国产一区二区三区四区五区| 久久久久久国产精品美女| 你懂的在线播放| 欧美一区二区三区免费大片 | 欧美日韩夫妻久久| 日本在线免费观看| 中国色在线观看另类| 色哟哟无码精品一区二区三区| 久久成人国产| 日韩精品免费一区| 欧美视频免费| 国产在线精品一区| 国产精品高清一区二区| 欧美中文字幕精品| 永久免费网站在线| 在线播放精品一区二区三区 | eeuss鲁片一区二区三区在线观看| 国产v亚洲v天堂无码久久久| 欧美日韩调教| 亚洲精品第一区二区三区| 欧美亚洲tv| 99国产超薄肉色丝袜交足的后果| 97久久网站| 欧美一级淫片丝袜脚交| 日本在线观看高清完整版| 国产一区二区三区视频免费| 天天干视频在线| 日韩区在线观看| 亚洲在线观看av| 日本高清不卡在线观看| 日韩av电影网| 一区二区三区四区中文字幕| 亚洲高潮女人毛茸茸| 91美女片黄在线观看| 亚洲av熟女高潮一区二区| 国产美女视频91| 一区二区三区四区毛片| 日本视频中文字幕一区二区三区| 波多野结衣乳巨码无在线| 欧美日一区二区在线观看 | 性xx色xx综合久久久xx| 成人黄色片免费| 婷婷综合五月| 中文字幕色一区二区| av资源久久| 欧美精品欧美精品系列c| 国产精品国产| 99久热re在线精品996热视频| vam成人资源在线观看| 国产日韩亚洲欧美| 国产成人a视频高清在线观看| 2019中文字幕在线| 欧美久久天堂| 69**夜色精品国产69乱| 涩涩视频在线免费看| 91国内精品久久| 密臀av在线播放| 欧美亚洲成人精品| 欧美人体一区二区三区| 国产98色在线| 欧美综合社区国产| 91免费国产网站| 三级欧美日韩| 国产精品视频免费观看| 日韩大片在线免费观看| 欧美日韩中文国产一区发布| 视频一区在线观看| 色涩成人影视在线播放| 久久精品国产68国产精品亚洲| 亚洲精品国产一区| 亚洲人成免费网站| 国产九色porny| 国产日产高清欧美一区二区三区| 看av免费毛片手机播放| 日本va欧美va精品| 亚洲午夜激情影院| 国产91富婆露脸刺激对白| 国产精品熟妇一区二区三区四区| www.亚洲精品| 手机看片福利视频| 亚洲人成电影网站色mp4| 国产小视频在线看| 欧美性xxxx18| 中文字幕在线网站| 欧美成人一区二区三区片免费| 狠狠综合久久av一区二区| 日韩成人在线视频| bbbbbbbbbbb在线视频| 欧美日韩成人在线播放| 热色播在线视频| 国产欧美在线观看| 超碰一区二区三区| 日本一区二区不卡高清更新| 偷拍欧美精品| 欧美s码亚洲码精品m码| 久久99久久久久| 国产二级一片内射视频播放| 亚洲国产精品精华液2区45| 欧美三级小视频| 色综合欧美在线| 国产男男gay体育生白袜| 日韩精品亚洲元码| 黄色网址在线免费观看| 97视频com| 99精品国产九九国产精品| 久久一区二区三区欧美亚洲| 99久久亚洲精品| 免费高清在线观看免费| 国产高清在线观看免费不卡| 成人午夜福利一区二区| 一区二区三区丝袜| 波多野结衣黄色| 亚洲精品一区二区三区在线观看 | 青青一区二区| 亚洲午夜精品久久久久久浪潮| 亚洲激情av| 一级片免费在线观看视频| 久久久一区二区| 精品一级少妇久久久久久久| 欧美日韩视频专区在线播放| 亚洲 欧美 激情 小说 另类| 欧美老女人在线视频| 高清亚洲高清| 秋霞毛片久久久久久久久| 在线观看不卡| 国产成人av免费观看| 国产精品美女久久久久高潮| wwwxxx亚洲| 亚洲精品一区二区三区香蕉| 羞羞电影在线观看www| 国产日本欧美在线观看| 免费欧美一区| 91视频最新入口| 不卡的av在线播放| 久草资源在线视频| 欧美一级生活片| 欧美成年黄网站色视频| 国产精品草莓在线免费观看 | 亚洲免费高清视频| 成人在线黄色电影| 国产精品美女黄网| 欧美日韩a区| 91精品人妻一区二区三区蜜桃2| 亚洲人成精品久久久久久| 97人妻精品一区二区三区视频| 中文字幕日韩高清| 国产精品99精品一区二区三区∴| 青青影院一区二区三区四区| 狂野欧美性猛交xxxx巴西| 鲁大师私人影院在线观看| 精品久久久久久久久久久久久| 欧美一区二区三区激情| 国语对白做受69| 精品一区二区男人吃奶| 18岁网站在线观看| 91在线看国产| 亚洲欧美一二三区| 夜夜嗨av一区二区三区免费区| 日本精品裸体写真集在线观看| 日韩久久久久久久| 免费看欧美美女黄的网站| 精品视频第一页| 91精品黄色片免费大全| 中文在线免费| 国产伦精品一区二区三| 一本久久综合| 丰满少妇高潮一区二区| 在线看国产一区| 五月天婷婷在线视频| 91嫩草在线视频| 亚洲国产美女| 最新中文字幕视频| 欧美在线免费观看视频| 91社区在线观看播放| 91免费电影网站| 亚洲第一毛片| 男人天堂av电影| 欧美理论片在线| 欧洲中文在线| 免费99视频| 久久97超碰国产精品超碰| 欧美特级一级片| 亚洲高清在线观看| 亚洲综合在线电影| 天堂v在线视频| 成人av电影免费在线播放| 51国产偷自视频区视频| 日韩在线视频国产| 澳门成人av| 动漫av免费观看| 亚洲免费看黄网站| 天天射天天色天天干| 国产精品久久久久免费a∨大胸| 亚洲人体av| 亚洲最大成人网站| 538prom精品视频线放| 精品捆绑调教一区二区三区| 日本高清不卡一区二区三| 国产在线视频精品一区| 成人精品免费在线观看| 北条麻妃一区二区三区中文字幕| 草莓视频一区二区三区| 国产福利在线免费| 无吗不卡中文字幕| 久cao在线| 欧美日韩精品久久| 国产精品18久久久久久久久| 中文字幕亚洲乱码熟女1区2区| 美日韩精品视频免费看| 久久爱www成人| 日本在线不卡一区二区| 欧美日韩视频在线一区二区| 精品捆绑调教一区二区三区|