国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

Python 圖形界面框架PyQt5 使用指南!

共 11146字,需瀏覽 23分鐘

 ·

2022-01-01 20:42

使用Python開發(fā)圖形界面的軟件其實(shí)并不多,相對(duì)于GUI界面,可能Web方式的應(yīng)用更受人歡迎。但對(duì)于像我一樣對(duì)其他編程語言比如C#或WPF并不熟悉的人來說,未必不是一個(gè)好的工具。

常見GUI框架

  • PyQt5[1]Qt[2]是一個(gè)跨平臺(tái)的 C++圖形用戶界面庫。QT一度被諾基亞擁,后出售給芬蘭的軟件公司Digia Oyj。PyQt5是基于Digia公司Qt5的Python接口,由一組Python模塊構(gòu)成。PyQt5本身擁有超過620個(gè)類和6000函數(shù)及方法。在可以運(yùn)行于多個(gè)平臺(tái),包括:Unix, Windows, and Mac OS。
  • Pyside6[3]:Pyside是QT公司官方提供的Python包,上一版本為Pyside2,對(duì)應(yīng)的是QT5,最新版命名規(guī)則進(jìn)行了調(diào)整,更改為Pyside6,對(duì)應(yīng)的是QT6版本。由于官方出品的比較看好,缺點(diǎn)是發(fā)布比較晚,網(wǎng)上的資料沒有PyQt5多。
  • Tkinter[4]:Python內(nèi)置的GUI框架,使用TCL實(shí)現(xiàn),Python中內(nèi)嵌了TCL解釋器,使用它的時(shí)候不用安裝額外的擴(kuò)展包,直接import,跨平臺(tái)。不足之處在于UI布局全靠代碼實(shí)現(xiàn),只有15種常用部件,顯示效果簡陋。
  • PySimpleGUI[5]:PySimpleGUI 是 Tkinter 一層包裝。使用 PySimpleGUI 實(shí)現(xiàn)自定義 GUI 所需的代碼量要比使用 Tkinter 直接編寫相同的 GUI 要少得多。
  • WxPython[6]:wxPython是Python語言對(duì)流行的wxWidgets跨平臺(tái)GUI工具庫的綁定。用得比較廣泛,跨平臺(tái),C++編寫,文檔少,用戶可能就需要根據(jù)編程內(nèi)容對(duì)不同平臺(tái)中的GUI代碼做一些調(diào)整。遇到問題不好解決,代碼布局控件,不直觀。
  • Wax[7]:基于wxPython ,為克服wxPython的問題而制作的一個(gè)包。
  • Kivy[8]:主要針對(duì)多點(diǎn)觸控程序,智能手機(jī)平板等,也可以在沒有觸屏功能的系統(tǒng)上,全平臺(tái)支持(Windows, Linux, Mac OS X, Android and iOS.)使用Python和cython編寫,中文支持差,需要自己下載中文庫并且制定路徑。
  • BeeWare[9]:Write once. Deploy everywhere.需要與Kivy配合使用。
  • Toga[10]:一個(gè)使用Python開發(fā)原生APP的GUI工具包。Toga由一個(gè)具有共享接口的基礎(chǔ)組件庫組成,以簡化與平臺(tái)無關(guān)的GUI開發(fā)。Toga適用于Mac OS、Windows、Linux(GTK)以及Android和iOS等移動(dòng)平臺(tái)。
  • Eel[11]:一個(gè)輕量的 Python 庫,用于制作簡單的類似于 Electron(但是比它更輕量) 的離線 HTML/JS GUI 應(yīng)用程序,并具有對(duì) Python 功能(capabilities)和庫的完全訪問權(quán)限。
  • Flexx[12]:一個(gè)純 Python 工具包,用來創(chuàng)建圖形化界面應(yīng)用程序。其使用 Web 技術(shù)進(jìn)行界面的渲染。你可以用 Flexx 來創(chuàng)建桌面應(yīng)用,同時(shí)也可以導(dǎo)出一個(gè)應(yīng)用到獨(dú)立的 HTML 文檔。因?yàn)槭褂眉?Python 開發(fā),所以 Flexx 是跨平臺(tái)的。只需要有 Python 和瀏覽器就可以運(yùn)行。
  • pywebview[13]是圍繞 webview 組件的輕量型跨平臺(tái)包裝器(wrapper),它允許在其自己的本機(jī) GUI 窗口中顯示 HTML 內(nèi)容。它使您可以在桌面應(yīng)用程序中使用 Web 技術(shù),同時(shí)盡最大可能隱藏使用瀏覽器構(gòu)建GUI的事實(shí)。
  • enaml[14]:一種能夠讓你用最小的努力就可以實(shí)現(xiàn)高質(zhì)量GUI界面的的Python框架,也是一種獨(dú)特的編程語言。enaml將聲明性語言與基于約束的布局系統(tǒng)結(jié)合在一起,使用戶可以輕松地定義靈活布局的UI。enaml應(yīng)用程序可以在任何支持Python和Qt的平臺(tái)上運(yùn)行。

個(gè)人想法:太多學(xué)不完,先學(xué)PyQt5,原因是資料多,學(xué)有余力再學(xué)pyside6,最后看下PySimpleGUI,看能否解決一些簡單問題。

PyQt5簡介

PyQt是Qt框架的Python語言實(shí)現(xiàn),由Riverbank Computing開發(fā),是最強(qiáng)大的GUI庫之一。其中網(wǎng)易開發(fā)的Airtest IDE自動(dòng)化測(cè)試編輯器就是基于PyQT來開發(fā)的。

PyQt提供了一個(gè)設(shè)計(jì)良好的窗口控件集合,每一個(gè)PyQt控件都對(duì)應(yīng)一個(gè)Qt控件,因此PyQt的API接口與Qt的API接口很接近,但PyQt不再使用QMake系統(tǒng)和Q_OBJECT宏。

PyQt5提供GPL版和商業(yè)版證書,自由開發(fā)者可以使用免費(fèi)的GPL許可,如果需要將PyQt用于商業(yè)應(yīng)用,則必須購買商業(yè)許可。

PyQt5特性如下:

  • 基于高性能的Qt的GUI控件集。
  • 能夠跨平臺(tái)運(yùn)行在Linux、Window和Mac OS系統(tǒng)上。
  • 使用信號(hào)槽機(jī)制進(jìn)行通信。
  • 對(duì)Qt庫進(jìn)行完全封裝。
  • 可以使用成熟的IDE進(jìn)行界面設(shè)計(jì),并自動(dòng)生成可執(zhí)行的Python代碼。
  • 提供一整套種類齊全的窗口控件。

PyQt5是由一系列Python模塊組成,有超過620個(gè)類,6000個(gè)函數(shù)和方法,主要模塊如下:

  • QtCore:包含了核心的非 GUI 的功能。主要和時(shí)間、文件與文件夾、各種數(shù)據(jù)、流、URLs、mime 類文件、進(jìn)程與線程一起使用。
  • QtGui:包含了窗口系統(tǒng)、事件處理、2D 圖像、基本繪畫、字體和文字類。
  • QtWidgets:包含了一系列創(chuàng)建桌面應(yīng)用的 UI 元素。
  • QtMultimedia:包含了處理多媒體的內(nèi)容和調(diào)用攝像頭 API 的類。
  • QtBluetooth:包含了查找和連接藍(lán)牙的類。
  • QtNetwork:包含了網(wǎng)絡(luò)編程的類,這些工具能讓 TCP/IP 和 UDP 開發(fā)變得更加方便和可靠。
  • QtPositioning:包含了定位的類,可以使用衛(wèi)星、WiFi 甚至文本。
  • Enginio:包含了通過客戶端進(jìn)入和管理 Qt Cloud 的類。
  • QtWebSockets:包含了 WebSocket 協(xié)議的類。
  • QtWebKit:包含了一個(gè)基 WebKit2 的 web 瀏覽器。
  • QtWebKitWidgets:包含了基于 QtWidgets 的 WebKit1 的類。
  • QtXml:包含了處理 xml 的類,提供了 SAX 和 DOM API 的工具。
  • QtSvg:提供了顯示 SVG 內(nèi)容的類,Scalable Vector Graphics (SVG) 是一種是一種基于可擴(kuò)展標(biāo)記語言 (XML),用于描述二維矢量圖形的圖形格式(這句話來自于維基百科)。
  • QtSql:提供了處理數(shù)據(jù)庫的工具。
  • QtTest:提供了測(cè)試 PyQt5 應(yīng)用的工具。

PyQt5的安裝

由于后期要使用fbs進(jìn)行打包,fbs對(duì)Python 3.7以后的版本可能存在兼容問題,所以我選擇了Python 3.6.8進(jìn)行了整個(gè)環(huán)境的搭建。主要內(nèi)容為:Python + PyCharm + PyQt5

安裝PyQt5

pip?install?pyqt5
pip?install?pyqt5-tools

其中pyqt5-tools為Qt Designer拖拽式的界面設(shè)計(jì)工具。安裝過程中可能會(huì)報(bào)如下錯(cuò)誤:

qt5-tools?5.15.2.1.2?has?requirement?click~=7.0,?but?you'll?have?click?8.0.1?which?is?incompatible.

解決方案:

pip?install?click~=7.0

Qt Designer的配置

Qt Designer 是通過拖拽的方式放置控件,并實(shí)時(shí)查看控件效果進(jìn)行快速UI設(shè)計(jì)。

整個(gè)畫面的構(gòu)成:

  • 左側(cè)的“Widget Box”就是各種可以自由拖動(dòng)的組件
  • 中間的“MainWindow – untitled”窗體就是畫布
  • 右上方的”O(jiān)bject Inspector”可以查看當(dāng)前ui的結(jié)構(gòu)
  • 右側(cè)中部的”Property Editor”可以設(shè)置當(dāng)前選中組件的屬性
  • 右下方的”Resource Browser”可以添加各種素材,比如圖片,背景等等

最終生成.ui文件(實(shí)質(zhì)上是XML格式的文件),可直接使用,也可以通過pyuic5工具轉(zhuǎn)換成.py文件。

QtDisigner配置

在Pycharm中,依次打開 File – Settings – Tools – External Tools,點(diǎn)擊 + Create Tool,配置如下:

Name:?QtDisigner
Program?:?D:\Program?Files\Python36\Lib\site-packages\qt5_applications\Qt\bin\designer.exe?#?請(qǐng)根據(jù)實(shí)際修改
Working?directory:?$FileDir$

PyUIC配置

PyUIC主要是把Qt Designer生成的.ui文件換成.py文件。

在Pycharm中,依次打開 File – Settings – Tools – External Tools,點(diǎn)擊 + Create Tool,配置如下:

Name:?PyUIC
Program?:?D:\Program?Files\Python36\python.exe?#?當(dāng)前Python目錄,請(qǐng)根據(jù)實(shí)際修改
Arguments:?-m?PyQt5.uic.pyuic?$FileName$?-o?$FileNameWithoutExtension$.py
Working?directory:?$FileDir$

PyRCC配置

PyRCC主要是把編寫的.qrc資源文件換成.py文件。

在Pycharm中,依次打開 File – Settings – Tools – External Tools,點(diǎn)擊 + Create Tool,配置如下:

Name:?PyRCC
Program:?D:\Program?Files\Python36\pyrcc5.exe?#?當(dāng)前rcc工具目錄,請(qǐng)根據(jù)實(shí)際修改
Arguments:?$FileName$?-o?$FileNameWithoutExtension$_rc.py
Working?directory:?$FileDir$

PyQt5使用示例

創(chuàng)建一個(gè)空白的界面:

import?sys
from?PyQt5.QtWidgets?import?QApplication,?QMainWindow,?QLabel
app?=?QApplication(sys.argv)
win?=?QMainWindow()
win.setGeometry(400,?400,?400,?300)
win.setWindowTitle("Pyqt5?Tutorial")
win.show()
sys.exit(app.exec_())

其中:

  • Qapplication():每個(gè)GUI都必須包含一個(gè)Qapplication,argv表示獲取命令行參數(shù),如果不用獲取,則可以使用[]代替。
  • QMainWindow():類似一個(gè)容器(窗口)用來包含按鈕、文本、輸入框等widgets。arg標(biāo)識(shí)可以獲取命令行執(zhí)行時(shí)的參數(shù)。
  • SetGeometry是用來定義 QMainWindow() 窗口的尺寸, 語法:setGeometry(x, y, width, height ),其中x,y為屏幕上的坐標(biāo)點(diǎn)。
  • show():用來顯示窗口
  • exit(app.exec_()):設(shè)置窗口一直運(yùn)行指導(dǎo)使用關(guān)閉按鈕進(jìn)行關(guān)閉

PyQt5支持的常見Widgets有:

從上到下,從左到右依次為:Qlabel、QcomboBox、QcheckBox、QradioButton、QpushButton、QtableWidget、QlineEdit、Qslider、QProgressBar

對(duì)于使用Pyqt5設(shè)置文本內(nèi)容,我們使用Qlabel:

import?sys

from?PyQt5.QtWidgets?import?QApplication,?QMainWindow,?QLabel
app?=?QApplication(sys.argv)
win?=?QMainWindow()
win.setGeometry(400,?400,?400,?300)
win.setWindowTitle("Pyqt5?Tutorial")

\#?Label?Text
label?=?QLabel(win)
label.resize(200,?100)
label.setText("Hi?this?is?Pyqt5")
label.move(100,?100)
win.show()
sys.exit(app.exec_())

按鈕與事件:

import?sys
from?PyQt5.QtWidgets?import?QApplication,?QMainWindow,?QPushButton
def?click():
????print("Hy?Button?is?clicked!")

app?=?QApplication(sys.argv)
win?=?QMainWindow()
win.setGeometry(400,?400,?400,?300)
win.setWindowTitle("Pyqt5?Tutorial")

\#?Button

button?=?QPushButton(win)
button.resize(200,?100)
button.setText("Hi!?Click?Me")
button.move(100,?100)
button.clicked.connect(click)
win.show()
sys.exit(app.exec_())

button.clicked.connect() 在按鈕點(diǎn)擊后執(zhí)行特定的事件。

PyQt5實(shí)戰(zhàn)

實(shí)戰(zhàn)項(xiàng)目:簡易的天氣查詢軟件

1、使用Qt Designer設(shè)計(jì)一個(gè)界面

用到的控件有Button, GroupBox, Label,ComboBox,TextEdit,同時(shí)定義了兩個(gè)按鈕queryBtn及clearBtn,分別用來查詢及清空天氣數(shù)據(jù)。我們需要綁定槽函數(shù),方法如下:

  • 在Qt Designer右下角選擇 信號(hào)/槽編輯器,點(diǎn)擊+號(hào)新增
  • 分別選擇queryBtn及clearBtn,選擇信號(hào) clicked(), 接收者 Dialog 及槽 accept(),(槽函數(shù)這里不知道如何定義,后期在代碼里再進(jìn)行修改)

以上完成后保存為Weather.ui文件。

2、轉(zhuǎn)換.ui文件為.py文件

PyQt5支持直接使用.ui文件:

import?sys

from?PyQt5?import?QtWidgets,?uic
app?=?QtWidgets.QApplication(sys.argv)
window?=?uic.loadUi("mainwindow.ui")
window.show()
app.exec()

但是為了更好的自定義及修改上面的槽函數(shù),可以使用External Tools – PyUIC,即可生成Weather.py,實(shí)際運(yùn)行命令如下:

D:\Program?Files\Python36\python.exe?-m?PyQt5.uic.pyuic?Weather.ui?-o?Weather.py

其中,我們需要把兩個(gè)按鈕綁定的槽函數(shù):

\#?self.queryBtn.clicked.connect(Dialog.accept)

\#?self.clearBtn.clicked.connect(Dialog.accept)

\#?修改為:

self.queryBtn.clicked.connect(Dialog.queryWeather)
self.clearBtn.clicked.connect(Dialog.clearText)

最終的Weather.py內(nèi)容如下:

from?PyQt5?import?QtCore,?QtGui,?QtWidgets

class?Ui_Dialog(object):

????def?setupUi(self,?Dialog):

????????Dialog.setObjectName("Dialog")

????????Dialog.resize(600,?600)

????????self.groupBox?=?QtWidgets.QGroupBox(Dialog)

????????self.groupBox.setGeometry(QtCore.QRect(30,?20,?551,?511))

????????self.groupBox.setObjectName("groupBox")

????????self.label_2?=?QtWidgets.QLabel(self.groupBox)

????????self.label_2.setGeometry(QtCore.QRect(20,?30,?31,?16))

????????self.label_2.setObjectName("label_2")

????????self.comboBox?=?QtWidgets.QComboBox(self.groupBox)

????????self.comboBox.setGeometry(QtCore.QRect(70,?30,?87,?22))

????????self.comboBox.setObjectName("comboBox")

????????self.comboBox.addItem("")

????????self.comboBox.addItem("")

????????self.comboBox.addItem("")

????????self.textEdit?=?QtWidgets.QTextEdit(self.groupBox)

????????self.textEdit.setGeometry(QtCore.QRect(20,?70,?491,?411))

????????self.textEdit.setObjectName("textEdit")

????????self.queryBtn?=?QtWidgets.QPushButton(Dialog)

????????self.queryBtn.setGeometry(QtCore.QRect(490,?560,?93,?28))

????????self.queryBtn.setObjectName("queryBtn")

????????self.clearBtn?=?QtWidgets.QPushButton(Dialog)

????????self.clearBtn.setGeometry(QtCore.QRect(30,?560,?93,?28))

????????self.clearBtn.setObjectName("clearBtn")

????????self.retranslateUi(Dialog)

????????self.clearBtn.clicked.connect(Dialog.clearText)

????????self.queryBtn.clicked.connect(Dialog.queryWeather)

????????QtCore.QMetaObject.connectSlotsByName(Dialog)

????def?retranslateUi(self,?Dialog):

????????_translate?=?QtCore.QCoreApplication.translate

????????Dialog.setWindowTitle(_translate("Dialog",?"Dialog"))

????????self.groupBox.setTitle(_translate("Dialog",?"城市天氣預(yù)報(bào)"))

????????self.label_2.setText(_translate("Dialog",?"城市"))

????????self.comboBox.setItemText(0,?_translate("Dialog",?"北京"))

????????self.comboBox.setItemText(1,?_translate("Dialog",?"蘇州"))

????????self.comboBox.setItemText(2,?_translate("Dialog",?"上海"))

????????self.queryBtn.setText(_translate("Dialog",?"查詢"))

????????self.clearBtn.setText(_translate("Dialog",?"清空"))

3、調(diào)用MainDialog

在MainDialog中調(diào)用界面類Ui_Dialog,然后在其中中添加查詢天氣的業(yè)務(wù)邏輯代碼,這樣就做到了界面顯示和業(yè)務(wù)邏輯的分離。新增demo.py文件, 在MainDialog類中定義了兩個(gè)槽函數(shù)queryWeather()和clearText(),以便在界面文件Weather.ui中定義的兩個(gè)按鈕(queryBtn 和clearBtn) 觸發(fā)clicked 信號(hào)與這兩個(gè)槽函數(shù)進(jìn)行綁定。

完整代碼如下:

import?sys

import?Weather

from?PyQt5.QtWidgets?import?QApplication,?QDialog

import?requests

class?MainDialog(QDialog):

????def?__init__(self,?parent=None):

????????super(QDialog,?self).__init__(parent)

????????self.ui?=?Weather.Ui_Dialog()

????????self.ui.setupUi(self)

????def?queryWeather(self):

????????cityName?=?self.ui.comboBox.currentText()

????????cityCode?=?self.getCode(cityName)

????????r?=?requests.get(

????????????"https://restapi.amap.com/v3/weather/weatherInfo?key=f4fd5b287b6d7d51a3c60fee24e42002&city={}".format(

????????????????cityCode))

????????if?r.status_code?==?200:

????????????data?=?r.json()['lives'][0]

????????????weatherMsg?=?'城市:{}\n天氣:{}\n溫度:{}\n風(fēng)向:{}\n風(fēng)力:{}\n濕度:{}\n發(fā)布時(shí)間:{}\n'.format(

????????????????data['city'],

????????????????data['weather'],

????????????????data['temperature'],

????????????????data['winddirection'],

????????????????data['windpower'],

????????????????data['humidity'],

????????????????data['reporttime'],

????????????)

????????else:

????????????weatherMsg?=?'天氣查詢失敗,請(qǐng)稍后再試!'

????????self.ui.textEdit.setText(weatherMsg)

????def?getCode(self,?cityName):

????????cityDict?=?{"北京":?"110000",

????????????????????"蘇州":?"320500",

????????????????????"上海":?"310000"}

????????**return**?cityDict.get(cityName,?'101010100')

????def?clearText(self):

????????self.ui.textEdit.clear()

if?__name__?==?'__main__':

????myapp?=?QApplication(sys.argv)

????myDlg?=?MainDialog()

????myDlg.show()

????sys.exit(myapp.exec_())

運(yùn)行demo.py并執(zhí)行查詢后的效果:

4、將代碼打包成exe文件

將.py文件打包成可執(zhí)行的exe在Python中稱為freezing,常用的工具有:PyInstaller, py2exe, cx_Freeze, bbfreze, py2app等。功能對(duì)比:

  • py2exe:軟件更新已經(jīng)不活躍,因此也就略過。
  • pyinstaller:明確支持win8、win10、理論上支持win7,,支持apple Macos, linux。pyinsaller可以打包成文件夾形式內(nèi)含exe入口執(zhí)行文件的形式,也可以是一個(gè)單獨(dú)的exe文件。
  • fbs[15]:基于PyInstaller,使用起來更加方便

這里選擇了fbs來打包。fbs的安裝方法:

pip?install?fbs

使用方法,在命令行中輸入:

fbs?startproject

執(zhí)行完成后需要輸入一些APP的名稱等。完成后會(huì)生成如下目錄:

將剛才編寫的PyQt5的代碼(demo.py和Weather.py)拖到src/main/python文件夾下,刪除原有的main.py,并將demo.py修改為main.py。然后打開 main.py,在文件頭部添加如下代碼:

from?fbs_runtime.application_context.PyQt5?import?ApplicationContext

完成后執(zhí)行:

fbs?freeze

即可實(shí)現(xiàn)打包。生成的exe可執(zhí)行文件在\target\MyApp文件下。


推薦書




推薦資訊除了紙質(zhì)圖書外,電子版也已在京東、當(dāng)當(dāng)網(wǎng)上線了。


(點(diǎn)擊直達(dá)小程序)

推薦閱讀:

  1. 重磅消息 | 2021年最新全棧測(cè)試開發(fā)技能實(shí)戰(zhàn)指南(第2期)

  2. 低代碼開發(fā),推薦一款Web 端自動(dòng)化神器:Automa!

  3. 2021年軟件測(cè)試工具大全(自動(dòng)化、接口、性能、安全、測(cè)試管理)

  4. 史上最全測(cè)試開發(fā)工具推薦(含自動(dòng)化、APP性能、穩(wěn)定性、抓包神器)

  5. 測(cè)試開發(fā):聊一聊自動(dòng)化測(cè)試框架,值得收藏!

  6. 接口測(cè)試常用工具及測(cè)試方法(新手篇)

  7. 全網(wǎng)最全的Postman接口自動(dòng)化測(cè)試!(菜鳥級(jí)攻略)


END

所有原創(chuàng)文章
第一時(shí)間發(fā)布至此公眾號(hào)「測(cè)試開發(fā)技術(shù)」

長按二維碼/微信掃碼? 添加作者


閱讀原文

瀏覽 105
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)
評(píng)論
圖片
表情
推薦
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 尤物精品在线| 91精品婷婷国产综合久久竹菊| 在线观看视频免费无码免费视频 | 99在线精品视频观看| 成人在线18禁| 中文字幕成人| 国产又爽又黄免费网站校园里| 天天干视频在线| www在线播放| 久热只有精品| 日韩免费视频| 国产高清无码视频在线观看| 男女做爱视频网站| 成人免费视频网| 人人摸天天| 99亚洲欲妇| 亚洲AV影院| 色五月婷婷五月| 亚洲成人AAAAA| 免看一级a一片| www.青青草视频| 天天干天天射天天操| 粉嫩av懂色av蜜臀av分享| 日本V片| 久久不雅视频| 免费看一级高潮毛片| 久久久久久亚洲| 青娱乐毛片| 国产综合网站| 久久黄色精品视频| 国语偷拍| 欧美18禁| 黑人av在线观看| 蜜桃视频网| 极品另类| av自拍| 亚洲区成人777777精品| 无码在线高清| 偷拍无码| 不卡无码中文字幕| 天天日天天操天天日| 色色加勒比综合| 中文字幕乱妇无码Av在线| 无码91| 精品欧美一区二区三区久久久| 亚洲在线无码| 日韩黄色精品| 2018天天操天天干| 国产无遮挡又黄又爽在线观看| 欧美日韩在线播放| A无码| 欧美福利| 亚洲天堂在线观看免费视频| 人人舔人人草| 日韩毛片大全| 无码人妻一区二区三一区免费n狂飙| 人妖和人妖互交性XXXX视频 | 日本成人黄色视频| 超碰三级| 亚洲有码在线播放| 伊人成人大香蕉| 天天夜夜人人| 一级欧美一级日韩片| 黑人狂躁女人高潮视频| 亚洲日韩免费观看| 91干干干| 杨贵妃一级婬片90分钟| 欧美日韩国产中文字幕| 国产男女啪啪视频| 一区二区三区视频在线| avwww| 欧美AA片| 精品人妻午夜一区二区三区四区 | 成人精品亚洲人成在线| 香蕉中文网| 中文字幕天天在线| 一级aa视频| 欧美十区| 91欧美精品成人AAA片| 无套内射在线播放| 综合色五月| 亚洲综合99| 免费爱爱网站| aav在线| 国产日韩二区| 91丨PORN丨国产| 18啪啪网站| 亚洲天堂网在线观看视频| 色情网站在线| 日韩日韩日韩日韩| 亚洲婷婷网| 婷婷俺也去| 久久草在线播放| 91精品无码视频| 少妇搡BBBB搡BBB搡造水多 | 少妇人妻一级A毛片| 日本中文字幕精品| 91插插插插| 日本人妻在线观看| 中文字幕在线乱| 台湾无码片| 精品视频在线观看免费| aaa片| 亚洲无套内射| 人妻中文在线| 亚洲手机视频| 精品在线免费视频| 亚洲中文字幕网| 黄色片在线免费观看| 一本道无码在线| 色色天堂成人电影| 老女人操逼网| 亚洲中文视频免费| 超碰P| 亚洲中文无码av| 伊人黄色视频| 国产精品V亚洲精品V日韩精品| 69式荫蒂被添全过程| 亚洲免费黄片| 北条麻妃日B视频| 正在播放国产精品| 无码AV在线播放| 操逼视频大全| 青娱乐极品久久| 麻豆蜜桃wwww精品无码| 国产乱子伦-区二区| 2024av在线| 亚洲免费小电影| 日韩中文字幕av在线| 亚洲黄在线观看| 一本道视频在线| AV中文字幕在线播放| 欧美午夜福利电影| 高清无码人妻| 美日韩视频欧美一区二区视频| 亚洲AV无码久| 黄色视频高潮| 久久久久亚洲AV无码专区| 久久成人无码电影| 澳门四虎影院| 四虎欧美| 国内自拍视频在线观看| 婷婷五月天在线观看| 久久无码黄片| 黄色视频高潮| 青青草网址| 久久精品偷拍视频| 日韩A片免费看| 最新中文字幕在线视频| 99热国产精品| 免费一级婬片AA片观看| 五月天婷婷在线观看视频| 无码国产av| 一级性爽AV毛片| 亚洲无码在线免费视频| 久久久久91| 波多野结衣性爱视频| 女人A片一级黄色| 怡红院爽妇网| 婷婷情色| 亚洲免费视频网| 亚洲欧美国产毛片在线| 最新av在线| 91三级片| 国产成人毛片18女人18精品| 91大鸡| 亚洲第一大网站| 亚洲成人AV在线观看| 久久水蜜桃| 九九九精品| 亚洲a级毛片| 毛片大香蕉| 亚洲成人无码精品| 亚洲无码成人视频| 国产激情网站| 亚洲成人少妇老妇a视频在线| 91国产视频网站| 亚洲中文中出| 久久久久久婷婷| 国产网站在线| 国产精品乱伦| 国产一二三区在线| 亚洲一卡二卡三卡四卡免| 久久久精品免费| 伊人网视频在线| 中文字幕片av| 69性影院| 一插菊花综合| 国产精品久久久久久久久久九秃| 中文字幕综合网| 蜜臀AV成人| 大香蕉色视频| 高清成人无码| 亚洲性爱视频在线观看| 短发半推半就AV| 国产一级A片免费播放| 国产网站免费| 国产在线观看无码免费视频 | 日本成人激情视频| 伊人成人在线视频观看| 日本特黄AA片免费视频| 青青网站| 无套内射在线免费观看| 色五月婷婷婷| 97精品在线观看| 国产欧美日韩在线观看| 天天插夜夜操| 大香蕉伊人久久| 日韩三级| 在线中文字幕第一页| 日韩精品成人片| 七十路の高齢熟妇无码| 亚洲aaa| 无码做爰欢H肉动漫网站在线看| 强伦轩一区二区三区在线观看| 91精品国产综合久久久蜜臀主演 | 青青草97国产精品麻豆| 加勒比日韩在线| 免费在线观看Av| 久久久久亚洲AV无码麻豆| 黄色小视频在线免费看| 国产肏屄视频| 日韩中文字| 免费电影日本黄色| 亚洲精品人妻在线| 黄色国产| 国产91麻豆视频| 草草浮力院| 奇米色色色| 色婷婷黄色| 秋霞欧美在线| 国产精品乱子伦视频一区二区| 三级片在线观看视频| 国产精品一级无码免费播放| 日韩精品成人免费观看视频| 亚洲AV观看| 亚色网址| 九九热视频99| 免费看黄片,在线观看| 99久热| 日韩中文无码电影| 不卡视频一区二区| 日逼黄片| 一级片在线免费看| 欧美口爆视频| 黄视频免费在线观看| 亚洲无码一区二区在线| 一级无码在线观看| 久久人妻熟女中文字幕av蜜芽| 91黄色在线视频| 亚洲日韩在线中文字幕| 97人人爽人人爽人人人| 小泽玛利亚一区二区免费| 亚洲成人网站免费观看| 日韩AV免费在线| 欧美日韩狠狠操在线观看视频| 日一区二区| 视频在线观看一区| 久久天堂| 91久久无码一区人妻A片蜜桃| 日韩性爱视频在线观看| 99色逼| 99精品自拍| 日韩精品成人无码免费| 国产麻豆AⅤMDMD0071 | 91精品国产91久久久久久吃药| 一级Aa视频免费看| 制服.丝袜.亚洲.中文豆花| 国产一级操逼片| 国产美女啪啪视频| 懂色av| 骚逼免费观看| 日韩欧美操逼| 青草网在线观看| 91丨九色丨国产在线| 中文字幕无码在线视频| 北条麻妃A片在线播放| 奇米99| 丁香五香天堂网| 在线播放一区二区三区| 中文字幕在线观看高清| 大香蕉精品欧美色综合2025 | 国产精品香蕉| 午夜精品久久久久久不卡8050| 性久久久久久久久久| 亚洲日韩中文无码| 精品蜜桃秘一区二区三区观看| 国产丝袜av| 爱搞逼综合网| 天天干天天干天天操| 中文字幕在线观看高清| 大鸡巴影院| 人人插人人射| 91欧美日韩| 大香蕉熟女| 一本色道久久综合无码人妻| 高清的日逼| 久久私人影院| 亚洲AV无码乱码| 久久黄色视屏| 国产免费成人视频| A视频免费| 亚洲无码成人在线观看| 亚洲成人网站视频| 丁香婷婷激情| 人人操超碰| 99免费在线视频| 91偷拍网| 欧美激情一区二区A片成人牛牛| 亚洲av男人天堂| 西西4444www无码精品| 上海熟妇搡BBBB搡BBBB| 一级日韩| 久久成人在线| 无码AV网站| 99热在线观看者| 97在线观看免费视频| 欧美视频综合网| 艹逼免费视频| 色妞视频精品一区| 色色五月天视频| 国产无码免费视频| 国产字幕| 免费小视频| 一区免费在线观看| 学生妹做爱视频| 亚洲va欧美va| 日韩人妻在线视频| 亚洲人一级电影| 久久精品亚洲无码| 婷婷激情中文字幕| 国产又大又黄| 六月丁香五月| 亚洲中文字幕观看| 亚洲成人一区二区在线观看| 91亚洲国产成人久久精品麻豆| 色婷婷在线播放| 北条麻妃AV在线播放| 国产大鸡吧| 在线www| 77777免费观看电视剧推荐爱的教育| 欧美一级黃色A片免费看蜜桃熟了| 国产婷婷久久| 一区免费在线观看| 天天撸天天操| 免费观看亚洲视频| 色五月婷婷中文字幕| 天天日AV| 中文视频在线观看| AV黑人| 大鸡巴在线观看| 国产真实乱婬A片久久久老牛| 免费无码国产在线观看快色| 国产在线一区二区三区四区| www操逼| 色情小电影免费网站观看网址在线播| 操逼网站免费| 老熟女伦一区二区三区| 黄片AV| 特级西西人体444www高清大胆| 黄片视频大全| 91久久人澡人妻人人做人人爽97| 大香蕉欧美| 柠檬AV导航| 成人片天天看片欧美一级| 欧美人妻日韩精品| www.五月天婷婷| 日韩aaaaaa| 综合插插| 中文字幕观看在线| 日韩性爱网址| 欧美性猛交XXXX乱大交3| 蜜桃久久久亚洲| 强奷伦奷片91| 北条麻妃在线视频| 牛牛av| 日韩大香蕉网| 中文字幕日本电影| 翔田千里无码在线| 97人妻一区二区精品免费视频| 久久99老妇伦国产熟女| 无码AV电影在线观看| 色色成人网| 一区二区三区四区五区| 国产大奶一区二区| 18AV在线观看| 国产三级偷拍| 99热中文| 伊人久久精品| 91在线观看高清18| 色五月在线视频| 国产一级特黄aaa大片| 最新国产在线| 中文字幕无码一区二区三区一本久| 91精品久久香蕉国产线看观看| 玖玖综合网| 97伊人| 成人精品视频在线| 97色在线视频| 翔田千里AV在线| 免费色色视频| 欧美午夜福利| 一级二级三级无码| 三级高清无码视频| 中文字幕乱视频| 黄色视频日本免费| 成人片成人网久久蜜桃臀| 青娱乐av在线| 久久久偷拍视频| 中文字幕第5页| 日韩中出视频| 欧美色色影院| 免费一级无码成人片| 九九成人精品| 99爱视频| 亚洲精品乱码久久久久久| 成人毛片在线大全免费| 国产精品久久视频| 天天躁天干天干| 免费无码在线看| 中出在线| 亚洲熟妇AV日韩熟妇在线| 亚洲成人网站在线观看| 国产嫩BBwBBw高潮| 色国产视频| 操逼逼网| 欧美日韩成人片| 爱爱视频无码| 国产亚洲视频在线观看| 秘亚洲国产精品成人网站| 无码免费中文字幕| 亚洲影院在线观看| 豆花视频在线看| 精品一区二区三区毛片| 亚洲av高清无码| 国产成人无码一区二区在线播放| 亚色网址| 亚洲精品国产av| 嫩BBB槡BBBB槡BBBB免费视频 | 揉BBB搡BBB搡BBB| 黄色在线网站| 久久亚洲免费视频| 成年人黄色视频| 欧美一级在线观看| 国产在线视频导航| 亚洲中字幕| 柠檬福利第一导航| 成人h在线观看| 欧美熟妇高潮流白浆| avcom无码| 午夜不卡视频| 秋霞福利影院| 日韩精品一区二区三免费视频| 亚洲三级片在线视频| 亚洲日韩欧美一厂二区入| 色福利网| 久在线| 99精品无码视频| 北条麻妃二区三区| 国产精品婷婷| 91精品内射| 国产一级性爱| 日本成人视频在线免费播放| 色五月婷婷综合| 国产精品久久久久久久9999| 久久精品视频久久| 亚洲第一色网站| 亚洲色,天堂网| 福利视频导航自拍| 这里只有精品视频| 思思操| 中文字幕中文| 天天色小说| 91乱子伦国产乱子伦!| 九九九精品在线| 曰曰干| 女人卖婬视频播放| 欧美日韩一区在线| 无码二区三区| 成人免费一级视频| 中文字幕无码不卡| 91人妻人人澡人人| 亚洲欧美日韩动漫| 51精品国产午夜福利| 丁香五月在线观看| 欧美日逼网站| 日韩理论在线| 欧洲黄色片| 精品福利在线观看| 影音先锋日韩精品| 夜夜撸日日| 九九伊人大香蕉| 色色网站| 最近2021中文字幕免费| 激情综合网五月| 夜夜操天天| 最全av在线| 黄色小视频在线观看| 久久这里精品| 免费日批网站| 国产性爱一级片| 五月激情综合网| 丁香五月婷婷在线| 真实白嫖91探花无码| 欧美成人精品A片免费一区99| 精品视频久久| 欧美www| 日本成人不卡| 五月婷婷综合在线| 天堂在线中文网| www.伊人大香蕉| 69av在线观看| 日韩成人一区二区三区| 午夜做爱视频| av亚洲波多野结衣白嫩水多波| 国产婷婷色一区二区| 亚洲免费在线观看视频| 2025av天堂| 日韩有码中文字幕在线观看| 亚洲va欧美va| 91精产国品一二| 在线一级片| 日本免费在线观看| 北条麻妃AV在线播放| 国产超级无码高清在线视频观看| 国产欧美综合在线三区| 久久大鸡吧| 91青青草视频| 日韩爆乳在线| 国产成人片在线观看| 国产激情电影| 色婷婷视频在线观看| 国产激情网| 三个黑人猛躁我一晚上| 亚洲欧美另类色图| 日韩无码第四页| 国产嫩草久久久一二三久久免费观看| www.97色色| 日韩激情毛片| 亚洲色射| 狼友视频免费在线观看| 黄网91| 国产97热人人| 爽好紧别夹喷水网站| 欧美一級黃色A片免費看| 亚洲男人天堂视频| 日韩在线成人中文字幕亚洲| 狠狠躁夜夜躁人人爽视频| 日本老妇操屄视频| 大香伊人| 中文字幕人妻丰满熟妇| 亚洲精品无码a片| 无码人妻一区二区三区在线视频不卡 | 欧美日逼网站| 欧美浮力影院| 色婷婷国产精品视频| 亚洲精品18在线观看| 日韩美在线视频| 精品成人| 国产色av| 色片在线观看| 精品久久久国产| 色天天干| 黄片网站免费在线观看| 有免费的欧美操逼视频吗| 欧美午夜片| 久久99视频| 欧美五月婷婷| 三级片无码视频| 国产中文在线观看| 日本中文字幕亚洲| 91热爆TS人妖系列| 一级一级a免一级a做免费线看内裤| 中文字幕日韩无码片| 国产欧美综合视频一区二区在线 | 性爱视频亚洲| 久久久国产探花视频| 欧美久久久| 一级婬片A片AAAA毛片A级| 草草久久久无码国产专区的优势| 波多无码在线| 日韩欧美在线中文字幕| 秋霞丝鲁片一区二区三区手机在绒免 | 国产AV黄色| 日韩小视频在线| 婷婷国产在线| 国产精品不卡在线| 国产大屌| 超碰人人搞| 亲子乱AV一区二区| 婷婷丁香人妻天天爽| 爆操约了良家| 国产激情视频在线| 久久婷婷秘精品日产538| BBW老熟女BBw| 久久99久久99久久99人受| 黄片免费播放| wwwsesese| 伊人在线视频观看| 一级黄色性爱视频| 江苏妇搡BBBB搡BBBB-百度 | 豆花视频免费观看| 在线婷婷| 日韩成人免费观看| 色情小电影免费网站观看网址在线播| www.操逼网| 午夜成人精品一区二区三区| 天天撸天天色| 国产传媒AV| 国内自拍激情视频| 色妞一區| 色婷婷av| 丁香婷婷色五月| 色天堂影院| 免费一级电影| 一区二区三区电影高清电影免费观看| 中文字幕-区二区三区四区视频中国| 国产内射无码| 1024国产| 成人精品无码免费视频| 一级内射视频| 美女福利在线| 日本一区二区三区在线观看网站| 成人激情免费视频| 成人毛片AV无码| 色婷婷在线综合| 人人看人人澡| 大香蕉久久伊人| 亚洲天堂无| 91一起草高清资源| 日批无码| 亚洲男女啪啪视频| 欧美在线视频一区二区| 蜜桃AV在线观看| 久久视频99| 久久国产香蕉| 99久久大香蕉| 天天干天天干天天操| 四虎影院污| 国产a片免费观看| 久草在在线| 久久久久99精品成人片直播| 欧美视频自拍| 亚洲Av秘无码一区二区| 97人妻一区| AV手机天堂| 久久久久久久艹| 日韩无码高清免费| 国产在线观看无码| 大香蕉少妇| 国产欧美日韩在线播放| 1区2区视频| 欧洲AV在线| 欧美国产乱伦| 亚洲狼友视频| 久久熟女嫩草成人片免费| 一本色道无码道| 五月天婷婷导航| 91探花秘在线播放偷拍| 欧美在线视频播放| 大地影院资源官网| 91人妻网| 日韩欧美中文| 97人人爽人人爽人人人| 安徽妇搡BBB搡BBBB户外老太太| 亚洲有码在线观看| 精品一区在线| 安徽扫搡BBBB揉BBBB| 男女av| 欧美日韩久久| www.97yy| 最新AV在线播放| 亚洲精品色色| 好逼123| 婷婷伊人久操网| 国产欧美日韩一区| 黄色免费AV| 亚洲天堂婷婷| 成人免费三级| 一级a免一级a做免费线看内裤的注意事项 | 18国产免费视频| 亚洲无码影视| 美少妇AV| 欧美一区三区视频z| 国产高清在线免费观看AV片| 16一17女人毛片| 一级一级a免一级a做免费线看内裤| 特级西西人体www高清大胆| 久久永久免费| 日本a在线免费观看| 高潮流水视频| 国产乱伦对白| 伊人成人大香蕉| 亚洲免费在线视频观看| 一级片在线观看视频| 青春草在线视频| 最新va在线观看| 人妻精品一区二区在线| 国产黄色直播| 欧美特级黄| 91美女被操| 性生活无码| 一级一级一级做a免费一级做a| 人妻操| 都市激情亚洲| 9999久久久久| 中文字幕三级av片| 国产成人精品a区在线观看| 成人免费一级视频| 少妇人妻在线| 自拍偷拍图区| 日韩欧美成人网站| 亚洲免费观看高清完整版在va线 | 国产激情片| 在线无码AV| 伊人在线| 国产熟女一区二区三区五月婷| 国产精品久久久久的角色| 亚洲成人精品一区| 国产口爆视频| 久久私拍| 国产精品欧美精品| 久草免费在线视频| 激情毛片| 午夜福利2025| 国产一级黄色A片| 中文字幕乱码中文乱码图片| 亚洲黄色免费观看| 成人四区| 青青草亚洲| 伊人99| 2025四虎在线视频观看| 狠狠操狠狠色| 日韩成人无码精品| 婷婷五月天丁香网| 日韩av中文字幕在线| 水密桃网站| 日韩欧美国产高清91| 超碰自拍私拍二区三区区| 亚洲色情在线播放| 国产精品宾馆| 少妇搡BBBB搡BBB搡AA| 欧美性爱福利视频| 超碰精品在线| 成年人视频网站| av在线影院| 欧美XX888做受| 高清中文字幕在线A片| 中文在线a∨在线| 另类日韩| 91人妻人人澡人人精品| 青青娱乐亚洲无| 亚洲中文AV在线| 69国产精品无码免费| 欧美老熟女18| 国产激情在线播放| 另类老妇奶性生BBwBB| 亚洲中文字幕日韩在线| 成人你懂的| 免费成人视频| 人妻操| 视频一区中文字幕| 人人摸人人操人人摸| 日本A∨在线| 迷情校园综合| 中文字幕精品无码一区二区| 欧美性爱中文字幕| 天天天日天天天操| AV电影在线免费观看| 免费无码国产在线55| 亚洲成人性爱网站| 一级A片在线观看| 性欧美成人播放77777| 国产主播一区二区| BBB搡BBB搡BBB搡BBB| 九九精品国产| 色色色综合| 蜜桃视频网站在线观看| 青青综合网| 五月丁香狠狠爱| 91中文在线| 女人18特级毛片。| 九九成人免费视频| 婷婷看片| 亚洲成人免费在线观看| 九九热九九| 精品人妻一区二区乱码一区二区| 无码专区亚洲| 国产尤物视频| 久久亚洲天堂| 国产換妻4P视频| 8050午夜一级| 日韩黄色免费电影| 成人91看片| 欧美午夜乱伦电影| 最近中文字幕av| 九九九无码| 人人操在线播放| 天天色天天色| 黃色毛片A片AAAA级20| 五月婷婷网| 久久久久99精品成人网站| 成人网站在线观看免费| 日日擼夜夜擼| 婷婷五月天成人| 欧美插穴| 无码三级| 高潮91PORN蝌蚪九色| 欧美精品一卡二卡| 你懂的在线观看| 国产激情都市一区二区三区欧美 | 免费在线a视频| 欧美一级特黄AAAAAA片| 午夜黄色电影| 国内一级A片| 亚洲成人在线免费| 色老板亚洲| 亚洲小说区图片区| 婷婷爱五月天| 熟女在线视频| 国产在线导航| 777免费观看成人电影视频| 国产小福利| 成人色色网站| 欧美中文字幕在线观看| 欧洲精品在线视频| 日本电影一区二区| 强辱丰满人妻HD中文字幕| 青草社区在线观看| 国语偷拍| 亚洲国产爱| 热久久免费视频| 豆花视频在线观看| 九九九九九九国产| 欧美日韩久久久| www.99精品| 一欧美日韩免费/看| 黄片在线网站| 青草视频在线免费观看| 欧美在线天堂| 国产av电影网| 亚洲精品国偷拍自产在线观看蜜桃| 伊人东京热| 操逼色| 久久精品一二三| 军人妓女院BD高清片在线播放| 国精品无码人妻一区二区三区免费 | 特一级黄色电影| 91麻豆精品国产91久久久久久 | 亚洲成人黄色网| 日韩无码中文字幕| 操逼人妻| 伊人综合网站| 91成人片| 在线免费观看成人网站| 亚洲无码高清视频在线| 久久三级视频| 久草在在线| 91精品国产99久久久久久天美 | 色婷婷视频在线观看| 91人人妻人人妻人人澡| 婷婷成人综合| 思思热在线| 能看的操逼视频| 日韩AV中文字幕在线| 久草黄色电影在线观看| 国产综合久久久777777色胡同| 69视频国产| 久久久久久97电影院电影院无码| 美女A级毛片| 欧美亚洲天堂网| 在线观看国产欧美| 青青草成人在线观看| 欧美在线一区二区三区| 人妖黃色一級A片| 免费做a爰片77777| 97福利视频| 在线观看中文字幕网站| 51精品国产| 色人阁人妻中文字幕| 91蜜桃视频在线观看| 猫咪AV成人永久网站| 日韩一级中文字幕| 91三级电影| 亚洲四区| 精品国产一级| 欧洲一区二区三区| 体内射精免费视频| 欧美精品性爱视频| 午夜无码电影| 国产剧情一区二区| 中文字幕无码亚| 92午夜福利天堂视频2019| 97国产精品手机| 婷婷网址| 91高清国产| 亚洲日本黄色视频| 色欲影视插综合一区二区三区| 91AV在线免费观看| 黄页网站在线免费观看|