久青草视频在线I丰满人妻一区二区三区免费,I思思久久青青热I久久综合一区二区I9热在线精品I精品人妻av中文字幕I91高清在线视频I欧洲美一区二区三区亚洲I老湿机69福利院I日韩在线视频91I久操久热I久热在线I亚洲春色校园

行業新聞

新聞資訊

聯系我們

手機:13823737137

電話:400-8316492

郵箱:3485053954@qq.com

地址:深圳市龍崗區橫坪公路89號數字硅谷E棟4樓

技術問題

用Python研發GUI實戰教程:照片轉換素描畫工具

  • 作者:147小編
  • 發布時間:2025-01-23
  • 點擊:

 

python做為膠水語言,它幾乎是無所不可的,但個人始終覺得在GUI研發方面,python能夠算作是短板了,為何由于性能…python的性能問題,常常此刻其他編程語言對其的鄙夷中。但不管怎樣python在GUI編程上,是有海量優秀模塊的。

1 . tkinter

許有些人不曉得這個模塊,但倘若你安裝python后,運用過自帶的IDLE,那樣你就應該認識它。tkinter做為python自帶的GUI模塊,IDLE便是經過該模塊研發的,是我比較愛好的一個模塊。

2 . easygui

第1認識這個模塊,還是看了別人的一個教程,它對Tkinter進行了二次封裝,使得GUI操作變得更為簡單,但同期局限于表層的運用沒法自定義更優雅的實現方法。

3 . wxpython

wxpython是一個Python針對wxWidgets(這是用 C++ 編寫)包裝后的產物,算是個流行的跨平臺GUI工具包。wxpython的優良在于運行速度較快,但編寫起來較為繁雜,況且界面美化效果較差…當然有第三方研發的wxFormBuiler拖拽編輯器,能替代部分的底層代碼實現。不在乎外觀但追求速度的伴侶,能夠思慮它。

4 . PYQT5

Qt是一套跨平臺的C++庫,不論是C++、Java還是Python,都能夠經過它來實現GUI界面的研發。PyQt5是Qt v5的一套全面的Python綁定。它實現為超過35個擴展模塊,上千個實現函數。使Python能夠在所有支持的平臺(包含iOS和Android)上用作C++的替代研發語言。

倘若你對GUI編程非常感謝興趣,能夠用心學學這個模塊,但倘若你只是想快速的實現有些GUI的功能,我更舉薦大眾學tkinter模塊,為何?tkinter做為python默認自帶的模塊庫,無需單獨安裝tkinter相比于wxpython與pyqt在制作小工具的方面,更為有效tkinter在網上存在海量的快速入門教程

tkinter實戰

為了證明tkinter的方便與有效,今天來編寫一個將照片轉化為素描畫的小工具,先給大眾瞧瞧實現效果:

避坑指南

1 . tktiner添加照片

大眾看到,tktiner中附帶了一個我的微X二維碼,這兒只是為了演示tkinter添加照片,絲毫推廣的味道,哈哈…這兒重視下,tktiner在添加照片時,PhotoImage(file=tmp.gif)需求照片必須是.gif結尾的照片,否則就會報錯:

_tkinter.TclError: couldn’t recognize data in image file

2 . 關于base64

大眾看到我加載照片,而是經過base64提前轉碼好二進制文件后,再進行導入,這般咱們打包的exe在運用時,就無需附帶一個照片文件了!

1import base64 2 3with open(清風Python.gif,rbas f: 4    data= f.read()5img = base64.b64encode(data) 6print(img)

tkinter打包

既然咱們研發的是GUI工具,必須得打包成exe才更好玩??!然則昨天有伴侶反饋,打包的地區說的太粗,光看動圖不曉得怎樣操作。那樣今天我簡單說下。

首要python的打包工具非常多,但我始終以來比較愛好運用pyinstaller,當然大眾能夠去嘗試cx_freeze、Py2exe等。

首要咱們需要安裝pyinstaller:運用pip install pyinstaller。

安裝完成,會在python程序根目錄的Scripts文件夾下生成pyinstaller.exe。

倘若在軟件安裝時,將Scripts添加至系統環境變量,需要手動添加到環境變量的PATH中,否則沒法在cmd下運用該命令。

以往很正常的打包,有位伴侶反饋運用相同的代碼打包失敗:

pyinstaller報錯

找了半天才發掘從python 3.6起始,enum34庫再也不與標準庫兼容。該庫是不必要的,因此呢只需卸載它就可。

pip uninstall enum34再次執行打包操作就可

總體代碼

最后附上工具的整體代碼,可供大眾參考:

1# -*- coding: utf-8 -*- 2# @Author   : 王翔 3# @JianShu  : 清風Python 4# @Date     : 2019/11/14 01:18 5# @Software : PyCharm 6# @version  :Python 3.7.3 7# @File     : ChangeImage.py 8 9 10from tkinter.messagebox import * 11from tkinter.filedialog import * 12from tkinter import * 13import base64 14from PIL import Image, ImageFilter, ImageOps 15import os 16 17img_bs64 = bR0lGODlhwADBAPcAAAAAAAAAMwAAZgAAmQAAzAAA/wArAAArMwArZgArmQArzAAr/wBVAABVMwBVZgBVmQBVzABV/wCAAACAMwCAZgCAmQCAzACA/wCqAACqMwCqZgCqmQCqzACq/wDVAADVMwDVZgDVmQDVzADV/wD/AAD/MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMrADMrMzMrZjMrmTMrzDMr/zNVADNVMzNVZjNVmTNVzDNV/zOAADOAMzOAZjOAmTOAzDOA/zOqADOqMzOqZjOqmTOqzDOq/zPVADPVMzPVZjPVmTPVzDPV/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YrAGYrM2YrZmYrmWYrzGYr/2ZVAGZVM2ZVZmZVmWZVzGZV/2aAAGaAM2aAZmaAmWaAzGaA/2aqAGaqM2aqZmaqmWaqzGaq/2bVAGbVM2bVZmbVmWbVzGbV/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kAZpkAmZkAzJkA/5krAJkrM5krZpkrmZkrzJkr/5lVAJlVM5lVZplVmZlVzJlV/5mAAJmAM5mAZpmAmZmAzJmA/5mqAJmqM5mqZpmqmZmqzJmq/5nVAJnVM5nVZpnVmZnVzJnV/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA/8wrAMwrM8wrZswrmcwrzMwr/8xVAMxVM8xVZsxVmcxVzMxV/8yAAMyAM8yAZsyAmcyAzMyA/8yqAMyqM8yqZsyqmcyqzMyq/8zVAMzVM8zVZszVmczVzMzV/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A//8rAP8rM/8rZv8rmf8rzP8r//9VAP9VM/9VZv9Vmf9VzP9V//+AAP+AM/+AZv+Amf+AzP+A//+qAP+qM/+qZv+qmf+qzP+q///VAP/VM//VZv/Vmf/VzP/V////AP//M///Zv//mf//zP///wAAAAAAAAAAAAAAACH5BAEAAPwALAAAAADAAMEAAAj/APcJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIENOBECypMmTKFOWFDNRGTFlkyalEXMjxooAAW4CiCEjjcifD8OoHErU5MGiSFXeKKgMjUJ6+8RMIjaJ0Q0ZYmJkknQgRowAXm9MylSRJcVMZAWigboPLUM0yg7CLSgmqV2jBu/qNTswE4CEylySzDTmxs6s+5btDLB4xU6KxADEHfl3nzIAmgQ6ZgggbcHOBXHovXt0dFK+DZVlEkMsE5pJjWKIweG1NtjbBlAD3U3XdNLSJGOgETO8OPHjxpNPMqlbYb1Mk8Rk6jVG0nAxs73mPKDiwAqvrJku/6MXd5m+8dHoRavHO2PdksmRy4+PBk0MvJ/hW2QOURIj1powIskYYoSBnVcrGPDVCl3FcANqzxFDjCYuUfjSeMosA017Fr1HkkVo4EcQfxWRiNBjbQEQQBiRwUCMGDAAIEYa公斤THGAAP+lRPTfc5mAZJ0U0SVQxjDDbWPjIJeWJllxEj0H0CXTbMk0yCVlA9VkKZkFAldSjiQCY5VWJJSyUknUCRyUaPbNFhF5MYB+xU24HQ4TCbCnZmJRxxysxmn3BjTAJTGpNoQtWFA8U00A2TTSLmPjg0+qgYk9E12WoKeVgZRSF2mddK+4Ha0DDYZfJcm0LCZBN42M0GwHetXv/Xaqt5YlfrGITSWFehgS1TKYehfRmRpsAB8Og+p40o6kKtAfBmgVJJMkltXtEW52HX8cigV111BdaDs9YUBrh2PugkQb8CS+xAmg5FUKcffkoSasmCuaxCqwUgyUzDTBLGa8rc4Fh0MaggFng88pSJTQfM+J1W1To4m3TY8SiGDHZmIuFA5hHklkEfOzSMZ3MRxGW8ArWrEkHr5kfSsfUKZFKZCzVi2HBlypaZV39BoyJLw8lAEmNhQBrvvEPedxhLM733YI92bmjZuTJvStBmD2mJrJLsiqhySu8Ki+y9MY+NtEIw1bQCgVt49/TQKpIE7mwJ36gCzz3mnXBYW2T/dWCCrGKXBjHLaDJMZu2J5mnKv3W9uLIvQ04UvfcepKpXOMvJM0kJfsdFwt9p7pWCgOdNLbUGzrpq4GOhpWh7LUfVuFpim2j25JI3V9Ayesooxne3mRSjbDWdhLfoNikIgAorwHC6bFIZaN/wMRiAQxgzEYgdhydb/TVKLNeun71FUS63QiThsPY+N9wI6nAxWNY+S0rz1zuOeBvgmOaHSSJQvzVa3v5k47/VyKBSl0mL1hKSJasZJHbfO0nYHkc+GUluKOazYEIcFIYA3IAYOTFen7yiiUw074P1GxoKqXWDz1FLdDsxkISgM62v3OduslFG0zKxjIHEgD1IOpbl/xglEEwlRHEokx1SwkfBqkWughjMnUL6JTSU3GgFNTmA82qTIM11RQUk2WLqsDOcLXALhwKD3iSGMbJhFMwmwfHbjKSym9jBiygTTGIFMxjFPSoEDVWMm/t2ci3+ASBOPcLh8ySGHUZkol8x6NsNzJi6GDiPCwa6gVDu9p5McMErjnKTSLrHxKKU0oFONNYFVZJBmkXpUcS4I3zqEgMuoEEFYOnRTmr4FQXFAAcLA6W/4PfIsaShb1LBThje6KAXiSEAM5rT034puH3UQ2oEERREtHnKU7prIHcsFh9VArPK+YUgkSnJjSwDFqfcxzCg4tG8xJK0J2HHWcRwxz70sf+CqbQlKyWRzT9VIBAV3FMMjVjJmVzCFCs1JBoOFQgSvTc7JeoxleUsnxQR0qeJnsRDzzNJAGBwvevNKgw42EJNtvDIYbymTTEIQ/PgeEOEFWxFYlCBDAwkG+jZKl3u8VpFwykvDaZsVkhtlWdupzt2fUWkwYGn6K6VIDA+bDZjbNV/xCCt6PinjLSpDQwY0xUz/s6XeVtBWO20wx5yhJR9Sapcu1lUIUZkZn9cJkpqUxLAvSqgg4TeDa4zlta0SRLQEsPnFO公斤koAxLMGBKk/6NwY0rACoF4mdRIjqMqNS5mx92dS8LNildJJEfwawjEnu9pfLCPQ/IVIBYv0HP4H/jKsRUdHrTrAYFawFx2gmgSNxioRKi0zUS028nV0hYjvLxO+oIYrBZQ4Zy77KCTqCHKsKsJtDR/XCQf8ZAz2U2ZpWjRAHzOsRMeApreAQ4z4BwKWK7mMn+7gSI5qNCGclx7XPetZyfN0JI4KruKdGdX+ce+wwJIRY7CAWDYXxSuommZXHgnF5g7QifL2yhTz1FyNw5ZT4fEMUV+K1gjjYqEBidD4fko公斤9XsulX67qIDC2MY1dixBpGo1HptMqCTGY1GDjJIMZrBoFXSl+1xpABzPGEVPlvE+YrxjEdXvADd+XAoJctyBeJTIIwbzRyWXYhRnGUcEYTGUp+xkNtM4/8pnhsGZpRxii1L0cRAUM9iGrGc0VxDJqQQ0UwmyZMkxuc1UdvGb3bxmqUp5yzlOoo8H0r0+F3ducs20ppXKMlv19545lJAyYjwhjcUIBiugVGveG9DWaGxVJE2GqFOojMONuiQHcPV6TaLrKx+OGMMIK3GyOatszs1jmN60spEKLIYEjCoOknCM1cmmSQTwkI4BKJmkUpWdJKw78hXdhQP6ZZM075D3kcpym81uiEBjOdIaMAA6LKR1TjeqAbBMttnnmPOAsWhp0K1KWYJeyUx5c16JCyfZt5O4/BYNjHESjppaEMO0++IFqW4oVYRSRkw3ANgN6BZc5BcHjRos2P/9zgg3nMMOdsaEy7zbd9ACljAs44ZokRM9Cp5ztRIDGkBESHQwTvR9wC86jn0h59zHWC6qCNXBKZicXrXFh8X8qmEV2E6CE7pX3eA/f11B6LgTgJ8XnUPNRQiPwiADpUn4mfMt5Hw5PEntoDp5ryqYwbjovANF+z/LpJYYDDBSzA1QOnpd1c8cdHaJZGIyqukL5D3z+NsVTWMHwTwos7KFgAb4noeEkVcGxPb7jPU++jN9Lu/uFUVKSzaNWA3mJMFXUMYJh62STae265V9tOYgv39I8NuC2YRUviF+DhGYnqt8mcWPP2te/pSdcr+tx61nJCnaV+S8j2U6ZnNy+v7/5rTdIM2IARP1nHKBlheDYYCxwgAwEJJ/W5d9NP公斤C2SIxWX24YWoUiQnBhj7oF0xdUPBUUNDg2CLEVPHtDfgEW2yAXg+9R8xhQMw0BWSkFIXEwYsNUMFskaZ4A7K0GCMkAbyJiOMER4egU2NFxUPggP9BzL7oycIFgO05z710zmsUneoAx5ZFVPQQoInRRyMYG3EMA/00C9ctUb0AGxt0ioqcgPdQSkt2IL1YB9NFkkxcHuvElY3E公斤qoiA1cSCtEgafBB6YxFWWxVPYwUYaw0Yw4Cb6IBBzSIeMICBsNAxscRi3Nl8UV4XLcRCBKDNmMYjoc19V4zeQAiXpxBI0/3FhjJFi97E/KoVb0BJQQMNV1hQGwzBgXDUMPaQPbEEPpIgikTElbEEMSQgAetgLcxgDa2R0MZAGYAQmabF/yHKLoqWLtngUMbgQC5N5MqYVRSRlaheDNOE3xOB9OddwF5NC0hVZuSQG0OAnT/UvxOAfhUIqIwMDazQMcwgV4公斤P+lAg+zRqxBCOtaYM7RAAevgS7/UaQzIJNeFDjUIzMXAu9OhD5xKMT7JUPgSQVcgy8ARZ1uc78PUqOGhJ0fZJZgR2JggAkmBqNrhg7UCO9UCKoriRpEiHQFSH1uZxpDgP6egvBiUV4HEkA/kRaecx0FE8XucY+lMScbgCYNQV1//HOUCYjJYEAAKyRsTQDojVC/mkDPRQD3VoTQIRdFChD3OoD0hpTWIwDEaZhKT4XgVDRmmAeSuZGgJpGQLZ公斤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公斤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 18 19 20def dodge(a, b, alpha): 21    return min(int(a * 255 / (256 - b * alpha)), 255) 22 23 24def draw(dir_info, blur=25, alpha=1.0): 25    base_dir = os.path.dirname(os.path.abspath(__file__)) 26    save_file_name = os.path.join(base_dir, final.png) 27    img = Image.open(dir_info) 28    img1 = img.convert(L)  照片轉換灰色 29    img2 = img1.copy() 30    img2 = ImageOps.invert(img2) 31    for i in range(blur): 32        img2 = img2.filter(ImageFilter.BLUR) 33    width, height = img1.size 34    for x in range(width): 35        for y in range(height): 36            a = img1.getpixel((x, y)) 37            b = img2.getpixel((x, y)) 38        img1.putpixel((x, y), dodge(a, b, alpha)) 39    img1.save(save_file_name) 40    img1.show() 41 42 43class LoginPage(object): 44    def __init__(self, master=None): 45        self.root = master 46        self.root.geometry(%dx%d % (450, 250)) 47        self.page = Frame(self.root) 48        self.Dir = StringVar() 49        self.Port = StringVar() 50        self.path = StringVar() 51        self.dir_info = StringVar() 52        self.create_page() 53 54    def create_page(self): 55        self.page.grid() 56        with open(tmp.gif, wb+) as f: 57            f.write(base64.b64decode(img_bs64)) 58        self.photo = PhotoImage(file=tmp.gif) 59        os.remove(tmp.gif) 60        Label(self.page, text= 61 62        ********: Python 63        作者  : ***  64        時間  :2019 65        工具  :Python 3. 7. 3 Tkinter         66        詳情  : 照片轉素描畫工具, justify=LEFT).grid(row=0, column=0, columnspan=2, rowspan=1, stick=NW) 67        Label(self.page, text="照片路徑").grid(row=3, column=0, sticky=W, pady=5) 68        self.dir_info = Entry(self.page, textvariable=self.path) 69        self.dir_info.grid(row=3, column=1, columnspan=1, padx=20) 70        Button(self.root, text="選取路徑", command=lambda: self.select_path()).grid(row=0, column=0, sticky=S, padx=20, 71                                                                                pady=5) 72        Label(self.page, image=self.photo).grid(row=0, column=2) 73        Button(self.page, text=轉換, command=self.login_check, width=10).grid(row=3, column=2, padx=10, pady=5) 74 75    def select_path(self): 76        path_ = askopenfilename(filetypes=[("file", "*.*")]) 77        self.path.set(path_) 78 79    def login_check(self): 80        img_dir = self.dir_info.get() 81        if img_dir == "": 82            showinfo(title=錯誤, massage=路徑錯誤) 83        else: 84            draw(img_dir) 85 86 87root = Tk() 88root.title(素描畫轉化工具) 89LoginPage(root) 90root.mainloop()

在線客服
聯系方式

熱線電話

13823737137

上班時間

周一到周五

公司電話

400-8316492

二維碼
毛片毛片| 日日噜夜夜噜 | 一区二区三区美女视频 | 亚洲 欧美 激情 另类 | 在线观看免费高清在线观看 | 日本69少妇 | 高清国产mv在线观看 | 欧美高清hd19| 91精品国产综合久久久蜜臀粉嫩 | 国产福利免费视频 | 欧美日韩中 | 91玉足脚交嫩脚丫在线播放 | 亚洲gayvideosxxxx 久久国产高清 | 午夜神马福利 | 国产精品久久久久野外 | 色天堂影院| 久色视频在线 | 人人99| 亚洲精品永久免费 | 91岛国| 免费观看av网站 | 蜜桃一区二区三区四区 | www污污| 四色网站 | 日本一本在线观看 | 潘金莲激情呻吟欲求不满视频 | 欧美成人午夜影院 | 日本色站 | 一级黄色电影片 | 国产 第1190页 | 亚洲成人h | 精品国产精品三级精品av网址 | 亚洲综合第一页 | 97视频免费看 | 牛牛电影国产一区二区 | 久草电影在线 | 日韩av无码一区二区三区 | 久久成人精品视频 | 日韩爱爱视频 | 无码人妻丰满熟妇区bbbbxxxx | 樱花电影最新免费观看国语版 | 日本不卡在线观看 | 国产福利小视频在线观看 | 国精产品一品二品国精品69xx | 又色又爽的视频 | 青青草福利视频 | 午夜在线不卡 | 无码gogo大胆啪啪艺术 | 亚洲福利精品 | 亚洲精品1234 | 欧美黑人三级 | 日本一区免费看 | 日本高清视频免费观看 | 91亚洲精华国产精华精华液 | 少妇大叫太粗太大爽一区二区 | 欧美另类一区二区 | 久久影院午夜理论片无码 | 91视频免费看片 | 日韩精品视频一区二区 | 黄色网在线看 | 欧美成人xxx | 日本少妇吞精囗交 | 欧美巨鞭大战丰满少妇 | 97人人艹 | 爱爱网视频 | 日韩爱爱网 | 国产综合视频在线观看 | 人人妻人人澡人人爽人人精品 | 欧美内谢| 欧美精品网站 | 男人和女人在床的app | 妻子的性幻想 | 欧美另类第一页 | 精品香蕉视频 | 女人的天堂网 | 成人免费短视频 | 国产无圣光 | 麻豆精品视频在线 | 人妻少妇偷人精品久久久任期 | 亚洲免费婷婷 | 国产剧情精品 | 日美毛片 | 欧美四区 | 国产婷婷色综合av蜜臀av | 午夜精品久久久久久久久久久久久蜜桃 | 在线看国产精品 | 日本中文字幕免费观看 | 91精品久久久久久综合五月天 | 最新中文av | 国产精品视频观看 | 91网站免费观看 | 大陆熟妇丰满多毛xxxⅹ | 日本一区二区精品视频 | av电影在线观看网址 | 久久国产劲爆∧v内射 | 久久久一本 | 熟女丰满老熟女熟妇 | 国产美女被草 | 日韩久久在线 | 亚洲午夜电影网 | 色老头综合网 | 九色一区 | 97精品国产97久久久久久免费 | 国产成人精品一区二区三区在线观看 | av导航网 | 天堂色在线 | 中文字幕第二页 | av av片在线看 | 青青在线| 日本色区| 成人看片在线观看 | 一区二区三区在线看 | 成人看片 | 日本一区二区视频 | 狠狠网站| 国产成人三级 | 中文字幕+乱码+中文字幕明步 | 一级片在线视频 | 天堂在线中文字幕 | 欧美精品aaa | 粉嫩aⅴ一区二区三区四区五区 | 欧美中文字幕在线观看 | 久免费视频| 国产一级在线观看视频 | 四虎伊人 | 黄色免费视频网站 | 亚洲视频成人 | 91香蕉视频污污 | 人人舔人人干 | 手机电影在线观看 | 日韩性高潮 | 成人一区二区在线观看 | 色图社区| 久久精品在线视频 | 天堂一级片 | 久久福利小视频 | 26uuu成人网 免费观看一区 | ,一级淫片a看免费 | 五月久久 | 综合激情五月婷婷 | 亚洲精品福利在线观看 | 国产精品老女人 | 天堂在线免费视频 | www日本在线 | 日韩18p | 3p少妇| 三级不卡视频 | 91免费看.| 免费国产精品视频 | missav | 免费高清av在线看 | 亚洲aa视频 | 国产福利视频在线观看 | 日韩在线影院 | 日本国产在线 | 91精品国产高清一区二区三区蜜臀 | 一级特黄毛片 | 在线免费看黄视频 | 久草福利| 撒尿free性hd | 浪漫樱花在线观看高清动漫 | 欧美特黄一级视频 | 一卡二卡在线观看 | 亚洲资源在线观看 | 性xxxx视频播放免费 | 另类ts人妖一区二区三区 | 国产丝袜 | 成人免费在线视频观看 | 国产传媒精品 | www.日韩一区| 爱爱视频网| 午夜影院免费看 | 国产稀缺真实呦乱在线 | 中国性老太hd大全69 | 福利一区视频 | 放荡的美妇在线播放 | 尤物视频网址 | 国家队动漫免费观看在线观看晨光 | 久久青草视频 | 日韩av无码一区二区三区 | 欧美日本在线播放 | 欧美激情一区二区三区四区 | 在线看黄色片 | 欧美另类综合 | 久久久亚洲av波多野结衣 | 91免费福利视频 | 麻豆国产尤物av尤物在线观看 | 快播久久 | 91天堂在线 | 亚洲gay视频 | 视频在线一区 | 久久一级电影 | 久草国产在线 | 男女69视频 | www.四虎在线 | 一区二区三区视频免费 | 国产麻豆精品一区二区 | 青青草原国产 | 国产精品手机视频 | 午夜欧美福利 | 特级a毛片 | 日本激情在线 | 伊人伊人网 | 日本在线免费看 | 日韩有码在线视频 | 黄色免费看片 | 一级日韩一级欧美 | 高跟91白丝 | 在线精品一区二区 | 一级久久 | 人体裸体bbb欣赏 | 亚洲人成电影网站 | av网站黄色 | 捆绑裸体绳奴bdsm亚洲 | 国产性色视频 | 午夜88| 亚洲全黄 | 98av视频| 西西人体大胆4444ww张筱雨 | 奇米影视777四色 | 尹人久久| 福利电影一区 | 全部免费毛片在线播放一个 | 欧美成人免费 | 黄色一级影片 | 国产尤物在线 | 日韩免费在线观看 | 久久久国产一区 | 影音资源av | 二级黄色大片 | 无码人妻精品一区二区 | 成人免费午夜视频 | 亚洲精品久久久久久久蜜桃 | 在线激情av | 国产女人水真多18毛片18精品 | 日韩欧美一区二区在线观看 | 超碰在线免费97 | 91玖玖| 久久一线 | 七月丁香婷婷 | 蜜臀在线观看 | 影音先锋在线观看视频 | 久久久久性色av无码一区二区 | 色图社区 | 五号特工组之偷天换月 | 免费国产在线视频 | 男人的天堂视频 | 欧美综合另类 | 极品美女开粉嫩精品 | 国产日韩欧美成人 | 欧美日韩国产激情 | 精品乱子伦一区二区三区 | 动漫3d精品一区二区三区乱码 | 五月婷婷中文字幕 | 欧美国产高清 | 黄色一级片免费在线观看 | 99热精品在线播放 | 制服丝袜亚洲色图 | 日韩中文字幕观看 | 久久人久久 | 欧美人妖老妇 | 国产毛片毛片毛片 | 色女人影院 | 国内激情自拍 | 欧美中文一区 | 欧美色图狠狠干 | 欧美一区高清 | 中文在线永久免费观看 | 国产精品综合在线 | 91小视频| 双性皇帝高h喷汁呻吟 | 超碰在线网址 | 日韩一区二区高清 | 国产精品久久综合青草亚洲AV | 青青草伊人 | 久草国产精品视频 | 色网站在线播放 | 一本色道久久88加勒比—综合 | 亚洲视频五区 | 国产资源一区 | 亚洲精品在线免费播放 | 久久青青草原亚洲av无码麻豆 | 伊人激情网 | 四虎影成人精品a片 | 精品久久人妻av中文字幕 | 色网址在线 | 伊人亚洲| 风间由美一区二区三区 | 精品少妇白浆小泬60P | 在线网站你懂得 | 免费在线看黄网址 | 高清av在线 | 成人美女视频 | 97精品在线视频 | 最好看的2019年中文视频 | 日日操日日干 | 久久中文字幕在线 | 欧美伦乱 | 午夜剧场福利 | 欧美精品一区三区 | 大咪咪av | 怡红院综合网 | www.黄色 | 欧洲亚洲自拍 | 国模私拍一区二区三区 | 日韩无码精品一区二区三区 | 五月天婷婷导航 | 国产成人在线免费观看视频 | 免看一级a毛片一片成人不卡 | 九九热精品视频在线播放 | 午夜香蕉| av中文字幕电影 | 久久精品国产一区二区三区 | 国产 中文 字幕 日韩 在线 | 最新色站 | 影音先锋在线播放 | 男女做爰猛烈高潮描写 | 九九视频这里只有精品 | av色婷婷 | 黄色国产视频 | 亚洲福利视频导航 | 精品自拍一区 | 色天天综合网 | 日韩中文字幕视频在线观看 | 国语对白av| 蜜桃91麻豆精品一二三区 | 国产欧美精品在线观看 | 在线激情网| 深夜视频在线播放 | 91桃色在线观看 | 亲嘴扒胸摸屁股免费视频日本网站 | 精品国产一区二区三区久久久蜜月 | 波多野结衣黄色网址 | 中文字幕人妻一区二区三区在线视频 | 二级毛片视频 | 少妇熟女高潮流白浆 | 国产九区| 午夜成人亚洲理伦片在线观看 | 黄视频在线播放 | 国产在线观看一区二区三区 | 欧美夜夜夜 |