午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > PyQt5通過信號實現(xiàn)MVC的示例

PyQt5通過信號實現(xiàn)MVC的示例

熱門標簽:柳州正規(guī)電銷機器人收費 鎮(zhèn)江人工外呼系統(tǒng)供應(yīng)商 外呼系統(tǒng)前面有錄音播放嗎 深圳網(wǎng)絡(luò)外呼系統(tǒng)代理商 400電話辦理費用收費 高德地圖標注字母 千呼ai電話機器人免費 申請辦個400電話號碼 騰訊地圖標注有什么版本

眾所周知MVC是個好東西。前陣子網(wǎng)上搜了下,但關(guān)于用PyQt5實現(xiàn)MVC的中文文檔缺少之又少,優(yōu)質(zhì)的文檔只搜到了一篇。既然這樣,來,開個坑,學(xué)習(xí)新知識,吸引流量。話說,關(guān)于PyQt5,布局那里需要好好看看,容器類控件需要好好看看,還有多線程和自動化測試那塊。但要寫出完美GUI需要大量的代碼經(jīng)驗和文檔查詢的能力。然后,嗯,這部分坑就填完了。

扯回正題:假設(shè)此時面臨的場景是,一個軟件涉及好幾個頁面,每個頁面是單獨的代碼。且每個頁面需要有自己的controller,最終所有的controller匯總到一起,統(tǒng)一管理。

本文中,文字只是輔助理解,務(wù)必讀懂代碼。

信號

眾所周知,GUI中當(dāng)一個控件的狀態(tài)改變時需要通知另一個控件,也就是實現(xiàn)了對象間的通信。當(dāng)事件發(fā)生或狀態(tài)改變時,就會發(fā)出信號,信號會觸發(fā)與這個事件相關(guān)聯(lián)的函數(shù),我們這個函數(shù)為槽。信號與槽可以是多對多的關(guān)系。信號在類創(chuàng)建時定義,即需要在初始化的前面定義。

自定義信號與槽

別問,靜靜感受以下代碼。以下的代碼中,已經(jīng)包含了信號的定義、指定參數(shù)的類型、發(fā)射、綁定槽函數(shù)等一系列過程。

from PyQt5.QtCore import QObject, pyqtSignal

# 信號對象
class QSignal(QObject):
  # 定義信號
  # 在類創(chuàng)建時定義,不能在類創(chuàng)建后作為類的屬性而添加
  # 指定信號傳遞參數(shù)的數(shù)量,類型等
  send_msg = pyqtSignal(str, str)

  def __init__(self):
    super(QSignal, self).__init__()

  def run(self):
    # 信號發(fā)射
    self.send_msg.emit('First arg', 'Second arg')

# 槽對象
class QSlot(QObject):
  def __init__(self):
    super(QSlot, self).__init__()

  def get(self, *args):
    # 信號接收
    print("Get message =>" + args[0], args[1], sep=', ')

if __name__ == '__main__':
  send = QSignal()
  slot = QSlot()

  # 將信號與槽函數(shù)綁定
  send.send_msg.connect(slot.get)
  # 外部調(diào)用 發(fā)射信號
  send.run()
  # 信號與槽解除關(guān)聯(lián)
  send.send_msg.disconnect(slot.get)
  send.run()

內(nèi)置信號綁定自定義槽

這樣,再來看一個和窗口結(jié)合的實例。窗口中有一個按鈕,點擊按鈕就退出窗口。雖然這個例子很簡單,不用信號和槽也能實現(xiàn)。但這里給個例子靜心感受下:信號連接、發(fā)射、接收的全邏輯。

import sys
from functools import partial
from PyQt5.QtCore import pyqtSignal
from PyQt5.QtWidgets import (QMainWindow, QApplication, QPushButton, QWidget, 
               QHBoxLayout)


class MainWindow(QMainWindow):
  btn_signal = pyqtSignal()
  def __init__(self):
    super(MainWindow, self).__init__()

    a = QPushButton("退出")
    # 給綁定的槽函數(shù)增加額外信息
    a.clicked.connect(partial(self.btn_clicked, 1))
    self.btn_signal.connect(self.close)

    self.setWindowTitle("演示")

    main_widget = QWidget()
    layout = QHBoxLayout()
    layout.addWidget(a)
    main_widget.setLayout(layout)
    # QMainWindow 不能設(shè)置布局
    self.setCentralWidget(main_widget)

  def btn_clicked(self, n):
    print(n)
    self.btn_signal.emit()

  def close(self):
    app = QApplication.instance()
    app.quit()


if __name__ == "__main__":
  # 在shell中執(zhí)行
  app = QApplication(sys.argv)
  mywin = MainWindow()
  mywin.show()
  # 開始主循環(huán),直到退出
  sys.exit(app.exec())

這里,想給綁定的槽函數(shù)btn_clicked傳遞額外參數(shù),但信號綁定時不能添加額外參數(shù)。對應(yīng)到上述例子中,close()可以通過指定信號的參數(shù)和類型來增加參數(shù),但btn_clicked()不能。一種解決方案是掏出萬能的partial函數(shù),將函數(shù)和參數(shù)綁定在一起。

至此,應(yīng)該了解了信號的工作方式和原理。而關(guān)于信號更多的內(nèi)容,如重載、裝飾器等,這里不做更多介紹,詳情參考官方文檔。話說,也佩服當(dāng)年的學(xué)習(xí)方式:『把所有代碼敲一遍』。時至今日也忘記了大多控件的含義和各種樣式的代碼,變成了:到時候去查API。

MVC

MVC的大名應(yīng)該都聽說過,model, view 和 control,即數(shù)據(jù)庫、頁面和處理邏輯相分離,這樣寫出來的代碼更加專一化。這里給份代碼感受下,三個內(nèi)容用三個類所實現(xiàn),個人不建議這樣寫,建議將文件放到三個文件夾下,而不是扔進一份代碼里:

import sys
from PyQt5 import QtCore
from PyQt5.QtWidgets import (QWidget, QHBoxLayout, QPushButton, QMessageBox, 
               QLineEdit, QApplication)

# View
class MainWindow(QWidget):
  verifySignal = QtCore.pyqtSignal()

  def __init__(self, *args, **kwargs):
    super(MainWindow, self).__init__(*args, **kwargs)
    self.id_line = QLineEdit()
    self.id_line.setPlaceholderText("請輸入賬號")
    self.psd_line = QLineEdit()
    self.psd_line.setPlaceholderText("請輸入密碼")

    self.init()

  def init(self):

    layout = QHBoxLayout()
    self.setLayout(layout)

    self.button = QPushButton("登錄")
    layout.addWidget(self.button)

    layout.addWidget(self.id_line)
    layout.addWidget(self.psd_line)
  
    # 連接定義的信號
    self.button.clicked.connect(self.verify_emit)

  def verify_emit(self):
    self.verifySignal.emit()

  def verify_ok(self):
    QMessageBox.about(self, "密碼正確", "已經(jīng)登錄")

  def verify_no(self):
    QMessageBox.about(self, "你犯了一個粗誤", "請重新檢查輸入")

# model
class Student(object):

  def __init__(self):
    self.name = "aaa"
    self.password = "aaa"

# control
class LoginControll(object):

  def __init__(self):
    # 不需要從命令行輸入?yún)?shù)
    self._app = QApplication([])
    self._model = Student()
    self._view = MainWindow()
    self.init()

  def init(self):
    self._view.verifySignal.connect(self.verify_user)

  def verify_user(self):
    id_ = self._view.id_line.text()
    psd_ = self._view.psd_line.text()

    if id_ == self._model.name and psd_ == self._model.password:
      self._view.verify_ok()
    else:
      self._view.verify_no()

  def run(self):
    self._view.show()
    # 事件循環(huán),直到應(yīng)用退出
    return self._app.exec_()

# main.py
if __name__ == "__main__":
  login_control_ = LoginControll()
  # 退出主程序
  sys.exit(login_control_.run())

在這個例子里需要注意的是,將model,view和controller分成了三個類。在view中定義信號以及信號何時發(fā)射,在controller中定義信號發(fā)射后連接的槽函數(shù),即觸發(fā)何種的響應(yīng)。這樣,通過信號的發(fā)射與連接,就將view和controller綁定在了一起。view負責(zé)頁面展示與信號定義,controller負責(zé)信號的連接與功能的實現(xiàn),完美。

MVC實現(xiàn)

單頁面

如果讀懂以上內(nèi)容,那么應(yīng)該可以實戰(zhàn)了。首先給出一個demo,就是將上面最簡單的MVC的例子拆分為三個文件。這里不便代碼展示,請移步到我的github進行觀看,這是文件結(jié)構(gòu),這是主文件。

多頁面

在實現(xiàn)個復(fù)雜點的邏輯,多個頁面,多個controller,文件結(jié)構(gòu)如下所示,一個主文件,配三個文件夾,完美。這里命名時盡量規(guī)范,文件名、類名、函數(shù)名,不然容易把自己搞暈了。python main.py執(zhí)行。

MVC-demo
├─ main.py
├─ UI
│  ├─ leftbtn_ui.py
│  ├─ login_ui.py
│  ├─ main_window_ui.py
│  └─ verify_ui.py
├─ control
│  ├─ controller.py
│  ├─ leftbtn_control.py
│  ├─ login_control.py
│  └─ verify_control.py
└─ model
    └─ model.py

調(diào)用關(guān)系如下:

這里需要注意的是變量的生存周期,main調(diào)用controller,controller調(diào)用其它的子controller,很容易在聲明一個類后局部變量消失,導(dǎo)致信號無法連接。如在controller.py中,典型錯誤的寫法:

class Controll(object):

  def __init__(self):

    self._app = QApplication([])

    self._stu = Student()

    self._view = MainWindow()
    self.init()

  def init(self):
    # 子 controller 作為局部變量,調(diào)用完后立刻消失,所以無法連接信號和槽
    # 這個問題困擾了我三天,可真是滑稽
    login_controller = login_control.Controller(self._view, self._stu.name, self._stu.password)

因為代碼文件實在太多且混亂,就不在這里展示了,不然讀者會更容易感到亂。這里只展示一個效果,完整代碼見我的github。其實看一個例子,就啥都懂了。

以上就是PyQt5通過信號實現(xiàn)MVC的示例的詳細內(nèi)容,更多關(guān)于PyQt5通過信號實現(xiàn)MVC的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • PyQt5 matplotlib畫圖不刷新的解決方案
  • PyQt5 設(shè)置窗口全屏顯示方式
  • Pyqt5 實現(xiàn)窗口縮放,控件在窗口內(nèi)自動伸縮的操作
  • 解決PyQt5 無邊框后窗口的移動問題
  • PyQt5 實現(xiàn)給無邊框widget窗口添加背景圖片
  • PyQt5中QSpinBox計數(shù)器的實現(xiàn)
  • pyqt5 設(shè)置窗體透明控件不透明的操作

標簽:烏蘭察布 平頂山 大慶 合肥 哈爾濱 烏蘭察布 郴州 海南

巨人網(wǎng)絡(luò)通訊聲明:本文標題《PyQt5通過信號實現(xiàn)MVC的示例》,本文關(guān)鍵詞  PyQt5,通過,信號,實現(xiàn),MVC,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PyQt5通過信號實現(xiàn)MVC的示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于PyQt5通過信號實現(xiàn)MVC的示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    亚洲第一福利网站| 中文字幕自拍偷拍| 91成人免费观看| 中文字幕乱码久久午夜不卡| 日韩欧美国产片| 91精品国产高清一区二区三区蜜臀 | 人妻人人澡人人添人人爽| 成人av免费电影| 欧美精品丝袜中出| 国产精品一区一区| 亚洲黄色网址大全| 国内外成人免费视频| 亚洲一区二区三区四区五区黄| 国内精品久久99人妻无码| 亚洲人成电影网| 黄色av一区二区三区| 久久久一本精品99久久精品| 国产精品成人午夜| 精品免费国产一区二区| 日韩欧美一级二级三级| 东京干手机福利视频| 国产av人人夜夜澡人人爽| 欧美色中文字幕| 999这里只有精品| 999在线观看免费大全电视剧| 精品小视频在线观看| 亚洲伊人成综合成人网| 色综合久久六月婷婷中文字幕| 亚洲成人777777| 天天插天天射天天干| 亚洲看片网站| 久久天天躁夜夜躁狠狠躁2022| 国产亚洲欧美在线| 国产一二三四区| 成人性教育视频在线观看| 国产1区2区3区精品美女| 污网站免费在线| 日韩av在线看| 国产高潮在线观看| 99爱精品视频| 国产三级精品在线| 一级黄色片网站| 免费在线观看日韩视频| 日韩二区三区在线| 天天综合网天天综合| 欧美色图另类小说| 一区av在线播放| 久久免费激情视频| 美女av免费观看| 欧美国产日韩视频| 色又黄又爽网站www久久| 国产在线精品一区二区 | 国产精品自产拍| 国内外成人免费在线视频| 久久久久成人精品| 91免费观看视频| 第四色在线视频| 欧美国产第一页| 国产亚洲精品aa午夜观看| 国产探花在线看| 亚洲精品一区二区三区影院| 日日摸夜夜添夜夜添亚洲女人| 无码h肉动漫在线观看| 国产在线一区二区三区播放| 亚洲影院久久精品| 亚州国产精品视频| 欧美成人sm免费视频| 91玉足脚交白嫩脚丫在线播放| 97伦伦午夜电影理伦片| 99re国产视频| 欧美α欧美αv大片| 久久国产毛片| 国产人妻人伦精品| 亚洲福利在线观看| 天天操天天爱天天干| 日本一区二区免费高清视频| 一区二区三区四区蜜桃 | 亚洲精品久久久久久久久久| 特级西西人体高清大胆| 成人三级在线| 欧美军同video69gay| 日韩精品一二区| 欧美三级华人主播| 日韩高清av一区二区三区| 国产综合色精品一区二区三区| 久久久久久欧美精品se一二三四| 99久久免费看精品国产一区| 美女av免费观看| 99久久精品免费看国产四区| 国产亚洲视频在线观看| 一本大道久久精品懂色aⅴ| 日本不卡在线视频| 亚洲麻豆一区二区三区| 91高潮在线观看| 午夜视频一区二区| 理论片中文字幕| 成人在线免费播放视频| 欧美成人精品福利| 日韩激情在线观看| 伊人中文字幕在线观看| 国产精品一区二区无码对白| 国产精品主播视频| 欧美色精品在线视频| 免费人成网站在线观看欧美高清| 在线天堂一区av电影| 一区二区三区无码高清视频| 99久久精品免费| 丁香花免费高清完整在线播放 | 日本泡妞xxxx免费视频软件| 欧美在线观看黄| 国产一区二区在线网站| 九九久久久久99精品| 日韩欧美在线国产| 久久久久91| 极品美妇后花庭翘臀娇吟小说| 一区二区精品国产| 久久亚洲精品成人| 91色在线porny| av最新在线观看| 国产日韩欧美精品在线观看| 国产在线精品二区| 久久久久久久久亚洲| 亚洲欧美日韩一区二区| 波多野结衣视频网址| 成人亚洲精品777777大片| 九九热精品视频国产| 欧美日韩中文字幕在线视频| 国产一级片免费观看| 日韩美女免费观看| 成人欧美一区二区三区在线播放| 国产精品无码一区二区三| 国产精品白丝jk喷水视频一区| 国产蜜臀av在线一区二区三区| 99久久久无码国产精品衣服| 91gao视频| 亚洲第一久久影院| 人妻中文字幕一区二区三区| 欧美黑人在线观看| 日韩激情视频在线| 国产在线精品免费av| 性欧美丰满熟妇xxxx性久久久| 国产精品色婷婷视频| 午夜av电影一区| 超碰在线免费97| 国产欧美日韩小视频| 日韩中文字幕国产精品| 91看片淫黄大片一级在线观看| 欧美做爰啪啪xxxⅹ性| 日本高清不卡三区| 亚洲风情亚aⅴ在线发布| 精品伊人久久久久7777人| 成年人在线观看av| 国产在线观看精品| 欧美午夜精品久久久久久人妖 | 久久精品视频一区| 精品午夜福利在线观看| 欧美少妇在线观看| 欧美xxxx综合视频| 中文字幕日韩一区| 亚洲综合五月天婷婷丁香| 北条麻妃在线一区| 国产精品wwww| 欧美日韩性视频| 人妻少妇精品无码专区久久| 无码人妻一区二区三区精品视频| 91精品中国老女人| 欧美亚州韩日在线看免费版国语版| 免费av一级片| 亚洲永久精品ww.7491进入| 免费国产一区二区| 日韩精品免费在线视频| 久久综合久久综合九色| 国产真实夫妇交换视频| 成人免费观看毛片| 国产精品久久久久久久久久三级| 精品露脸国产偷人在视频| 三级小视频在线观看| 香蕉视频久久久| 超碰97免费观看| 久久久中精品2020中文| 色成年激情久久综合| 韩国三级中文字幕hd久久精品| 久久99久久久| 亚洲国产精品无码观看久久| 日本成熟性欧美| 日韩一区二区三区免费看| 大陆成人av片| 波多野结衣黄色| 日韩一区二区三区不卡视频| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 国产农村妇女毛片精品久久麻豆| 91精品国产综合久| 中文字幕免费视频| 欧美精品卡一卡二| 国产不卡在线观看| 这里是久久伊人| 粉嫩嫩av羞羞动漫久久久| 波多野结衣电车| 激情综合丁香五月| 男人天堂av片| 亚洲a级在线观看| 日韩精品免费综合视频在线播放 | 波多野结衣天堂| 久久综合入口| 91精品国产亚洲| 亚洲第一级黄色片| 亚洲国产精品99久久久久久久久| 性插视频在线观看| 久久国产一级片| 国产欧美激情视频| 国产欧美日韩视频一区二区三区| 欧美成人性色生活仑片| 色综合一个色综合| 久久夜色精品国产欧美乱极品| 亚洲第一视频在线| 精品99久久久久成人网站免费| 91蝌蚪视频在线| 青青视频免费在线观看| 91视频最新| 欧美精品久久久久a| 欧美大片一区二区| 亚洲一区二区在线免费看| 国产成人高清在线| 公侵犯人妻一区二区三区| 日韩精品一区中文字幕| 亚洲国产一区二区精品视频| 成人美女av在线直播| 欧美夫妻性视频| 欧美激情一区二区三区四区| 日日夜夜免费精品视频| 亚洲精品国产无码| 美国精品一区二区| 精品人妻在线视频| 老头吃奶性行交视频| 国产盗摄视频在线观看| 久久精品成人一区二区三区蜜臀| 日本久久中文字幕| 蜜臀久久99精品久久久久久宅男| 精品福利一区二区三区免费视频| 欧美性猛交xxxx乱大交极品| 中文字幕一区三区| 91亚洲国产成人精品一区二三| 久久精品国产99国产| 精品人妻一区二区三区蜜桃| 国产美女www| 欧美一区二区三区爽爽爽| 久久久无码人妻精品一区| 久久婷婷中文字幕| 国产天堂在线播放| 国产原创中文在线观看| 日韩精品国内| 欧美国产一区二区在线| 亚洲一区二区三区久久| 日韩区在线观看| 欧美男女性生活在线直播观看| 国产+成+人+亚洲欧洲自线| 精品一区二区三区视频在线观看| 丝袜国产日韩另类美女| 好吊色视频一区二区| 国产成人麻豆精品午夜在线| www亚洲视频| 久久久久97国产| 国产十六处破外女视频| 亚洲人成人无码网www国产 | 欧美黄网在线观看| 亚洲激情免费视频| 中文字幕の友人北条麻妃| 在线视频不卡一区二区三区| 国产精品中出一区二区三区| 国产主播喷水一区二区| 国产精品视频在线观看| 国产精品自产拍在线观看| 国产精品国产三级国产aⅴ9色| 欧美一级淫片aaaaaaa视频| 欧美激情乱人伦| 97精品国产91久久久久久| 777国产偷窥盗摄精品视频| 欧美黄色小视频| 国产91精品久久久久| 久久久91精品国产| 久久久久久久91| 久久久久久有精品国产| 日本一区二区三区四区视频| 97免费在线视频| 国产日本欧美一区| 国产精品播放| 蜜桃999成人看片在线观看| 欧洲精品在线一区| 最新视频 - x88av| 国产精品成人久久电影| 激情网站五月天| 邪恶网站在线观看| 朝桐光av一区二区三区| 国产一区第一页| 免费视频久久久| 北条麻妃一二三区| 久久丁香综合五月国产三级网站| 成人短视频下载| 国产精品丝袜在线| 亚洲激情综合网| 欧美丝袜丝交足nylons图片| 欧美精品久久一区| 亚洲一级黄色av| 欧美老女人在线视频| 国产日韩欧美一二三区| 蜜桃成人在线| 激情伊人五月天| 在线视频观看91| 懂色av粉嫩av蜜乳av| 久久精品www| 国产极品久久久| 青青国产在线视频| 少妇高潮久久久| 国产美女免费看| 日韩高清在线观看| 久久精品人人爽人人爽| 一区二区不卡在线视频 午夜欧美不卡在| 欧美视频一区二区三区| 一区二区三区视频在线 | 狠狠躁夜夜躁人人爽超碰91| 91精品国产综合久久福利| 中文国产亚洲喷潮| 国产精品久久久久aaaa九色| 视频一区二区精品| mm131国产精品| 99成人在线观看| 国产毛片毛片毛片毛片| 国产一区二区不卡| 一区二区三区在线视频观看| 日韩视频免费直播| 91精品国产综合久久婷婷香蕉 | 亚洲一区二区三区高清视频| 秋霞成人午夜伦在线观看| 久久精品欧美一区二区三区麻豆| 亚洲一卡二卡三卡四卡| 日韩欧美区一区二| 久久亚洲一区二区三区四区五区高| 国产精品久久久久秋霞鲁丝| 免费在线国产精品| 中文字幕第一页在线视频| 免费看一级黄色| 刘玥91精选国产在线观看| 91日韩在线专区| 51精品秘密在线观看| 亚州欧美日韩中文视频| 久久国产精品久久| 九色porny自拍| 91九色丨porny丨肉丝| 久久国产剧场电影| 性久久久久久久久久久久| 中文字幕亚洲第一| 精品国产一区二区三区四区vr| 成人三级视频在线播放| 国产人妻大战黑人20p| www.精品久久| 亚洲婷婷综合久久一本伊一区| 亚洲第一福利网站| 91国产丝袜在线放| 亚洲精品成人在线播放| 日产精品久久久| 99在线精品一区二区三区| 欧美四级电影网| 日本中文字幕久久看| www.日本在线播放| 糖心vlog免费在线观看 | 91麻豆精品在线观看| 911精品产国品一二三产区| 国产精品扒开腿做爽爽爽视频| 777久久久精品一区二区三区| 神马午夜精品91| 国产成人自拍在线| 欧美成人一区二区三区片免费 | 一区二区视频在线观看| 色婷婷av777| 免费在线观看不卡| 精品人伦一区二区三区蜜桃网站 | www.天天干.com| 亚洲大片精品永久免费| 久久国内精品一国内精品| 在线观看一区欧美| 全程偷拍露脸中年夫妇| 国产一区二区视频在线| 日韩视频永久免费| julia一区二区中文久久94| 最新国产黄色网址| 美女黄页在线观看| 洋洋av久久久久久久一区| 国自在线精品视频| 能在线观看的av| 伊人网综合在线| 亚洲欧美另类综合偷拍| 韩日精品中文字幕| 国产三级三级三级看三级| 一级片在线观看视频| 国产精品美女视频| 亚洲18私人小影院| 亚洲理论中文字幕| 国产精品乱码久久久| 色婷婷综合久久久| 国产欧美精品在线| 中文字幕丰满乱码| 久久久xxx| 欧美成人艳星乳罩| 日韩欧美一区二区三区四区| 少妇高潮在线观看| 99久久精品国产麻豆演员表| 久久精品国产久精国产一老狼| 日本网站免费在线观看| 中文在线a天堂| 欧美性生活大片免费观看网址|