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

Python 可輕松制作屬于自己的桌面寵物!

共 17634字,需瀏覽 36分鐘

 ·

2022-06-02 07:29

推薦關注↓


來源:blog.csdn.net/zujiasheng?type=blog

一、桌面寵物素材

1.1 需要準備什么素材

桌面寵物的各種動畫效果,可以看作是由一個個GIF動圖拼接而成,我們需要準備多組GIF動圖來實現(xiàn)桌面寵物的動作切換。


最好選取是白底的GIF動圖。

1.2 介紹幾種獲得GIF動圖的方式

1.2.1 通過pr實現(xiàn)視頻轉GIF

pr在導出的時候選擇動畫GIF可以直接導出GIF動圖。

當然了想要白底就需要自已用“蒙版”和畫筆工具自己摳圖了。

1.2.2 通過ps實現(xiàn)圖片組轉GIF

ps會高級一點,首先點擊最上方的窗口,再點擊時間軸,在下方顯示出的時間軸的最右邊的加號可以添加你想要添加的圖片。圖層右邊可以選擇刪除背景。

然后選擇最上方的文件,選擇導出,選擇導出為web所用格式舊版,即可

1.2.3 百度一下,獲取網(wǎng)上現(xiàn)成的GIF資源

① 百度:“制作GIF動圖”

② 百度 ? ?“GIF動圖資源”

你想要的角色人物素材都在這里!最實用的2d游戲素材!- 知乎:

https://zhuanlan.zhihu.com/p/408992668

二、Python實現(xiàn)代碼

2.1 目錄結構

項目的目錄結構整體如下:main.py為主程序代碼。

normal下的GIF圖是寵物平常會隨機切換的動作GIF圖, click下面的GIF圖是點擊寵物之后的寵物動作的GIF圖

dialog.txt 記錄了寵物的對話信息

tigerIcon.jpg是縮小到托盤后托盤圖標的圖片

2.2 實現(xiàn)代碼

2.2.1 引用包

os包用于加載文件,sys包用于退出程序,random包用于程序中一些需要調用隨機數(shù)的操作。其他的三個包則是用于實現(xiàn)桌面寵物的基礎。

import?os
import?sys
import?random
from?PyQt5.QtGui?import?*
from?PyQt5.QtCore?import?*
from?PyQt5.QtWidgets?import?*

2.2.2 主代碼部分

if?__name__?==?'__main__':
????#?創(chuàng)建了一個QApplication對象,對象名為app,帶兩個參數(shù)argc,argv
????#?所有的PyQt5應用必須創(chuàng)建一個應用(Application)對象。sys.argv參數(shù)是一個來自命令行的參數(shù)列表。
????app?=?QApplication(sys.argv)
????#?窗口組件初始化
????pet?=?DesktopPet()
????# 1. 進入時間循環(huán);
????# 2. wait,直到響應app可能的輸入;
????# 3. QT接收和處理用戶及系統(tǒng)交代的事件(消息),并傳遞到各個窗口;
????# 4. 程序遇到exit()退出時,機會返回exec()的值。
????sys.exit(app.exec_())

2.2.3 代碼運行流程

整個運行流程為:

(1)通過self.init():實現(xiàn)窗體的初始化,寵物的GIF圖在這個窗體中播放。

(2)通過self.initPall():配置托盤化

(3)通過self.initPetImage():將寵物的靜態(tài)GIF資源,包括對話和GIF動圖進行加載

(4)通過self.petNormalAction():實現(xiàn)寵物隨機切換動作和語句的功能

class?DesktopPet(QWidget):
????def?__init__(self,?parent=None,?**kwargs):
????????super(DesktopPet,?self).__init__(parent)
????????#?窗體初始化
????????self.init()
????????#?托盤化初始
????????self.initPall()
????????#?寵物靜態(tài)gif圖加載
????????self.initPetImage()
????????#?寵物正常待機,實現(xiàn)隨機切換動作
????????self.petNormalAction()

① 加載顯示GIF動圖的窗體,通過函數(shù)init實現(xiàn),其代碼配置如下:

這幾句的作用是對展示寵物的窗體進行一些初步的設置,使得白色GIF圖能夠去掉背景的白色,將GIF圖透明的展示出來

????#?窗體初始化
????def?init(self):
????????#?初始化
????????#?設置窗口屬性:窗口無標題欄且固定在最前面
????????#?FrameWindowHint:無邊框窗口
????????#?WindowStaysOnTopHint:?窗口總顯示在最上面
????????#?SubWindow:?新窗口部件是一個子窗口,而無論窗口部件是否有父窗口部件
????????#?https://blog.csdn.net/kaida1234/article/details/79863146
????????self.setWindowFlags(Qt.FramelessWindowHint?|?Qt.WindowStaysOnTopHint?|?Qt.SubWindow)
????????#?setAutoFillBackground(True)表示的是自動填充背景,False為透明背景
????????self.setAutoFillBackground(False)
????????#?窗口透明,窗體空間不透明
????????self.setAttribute(Qt.WA_TranslucentBackground,?True)
????????#?重繪組件、刷新
????????self.repaint()

② 實現(xiàn)能托盤顯示的功能,通過函數(shù)initPall實現(xiàn),其代碼配置如下:

主要有下面這幾個操作:

(1)讀取靜態(tài)圖片資源設置托盤化的圖標

(2)設置托盤化圖片點擊右鍵顯示的菜單,并對這些菜單的點擊操作進行設置

流程代碼如下:

?#?托盤化設置初始化
????def?initPall(self):
????????#?導入準備在托盤化顯示上使用的圖標
????????icons?=?os.path.join('tigerIcon.jpg')
????????#?設置右鍵顯示最小化的菜單項
????????#?菜單項退出,點擊后調用quit函數(shù)
????????quit_action?=?QAction('退出',?self,?triggered=self.quit)
????????#?設置這個點擊選項的圖片
????????quit_action.setIcon(QIcon(icons))
????????#?菜單項顯示,點擊后調用showing函數(shù)
????????showing?=?QAction(u'顯示',?self,?triggered=self.showwin)
????????#?新建一個菜單項控件
????????self.tray_icon_menu?=?QMenu(self)
????????#?在菜單欄添加一個無子菜單的菜單項‘退出’
????????self.tray_icon_menu.addAction(quit_action)
????????#?在菜單欄添加一個無子菜單的菜單項‘顯示’
????????self.tray_icon_menu.addAction(showing)
????????#?QSystemTrayIcon類為應用程序在系統(tǒng)托盤中提供一個圖標
????????self.tray_icon?=?QSystemTrayIcon(self)
????????#?設置托盤化圖標
????????self.tray_icon.setIcon(QIcon(icons))
????????#?設置托盤化菜單項
????????self.tray_icon.setContextMenu(self.tray_icon_menu)
????????#?展示
????????self.tray_icon.show()

其中‘退出’項涉及到的函數(shù)代碼如下:

????#?退出操作,關閉程序
????def?quit(self):
????????self.close()
????????sys.exit()

其中‘顯示’項涉及到的函數(shù)代碼如下:

????#?顯示寵物
????def?showwin(self):
????????#?setWindowOpacity()設置窗體的透明度,通過調整窗體透明度實現(xiàn)寵物的展示和隱藏
????????self.setWindowOpacity(1)

③ 寵物靜態(tài)資源的加載,通過函數(shù)initPetImage實現(xiàn),其代碼配置如下:

靜態(tài)資源的加載主要涉及兩個部分,對話框內(nèi)容的加載和圖片內(nèi)容的加載。

????#?寵物靜態(tài)gif圖加載
????def?initPetImage(self):
????????#?對話框定義
????????self.talkLabel?=?QLabel(self)
????????#?對話框樣式設計
????????self.talkLabel.setStyleSheet("font:15pt?'楷體';border-width:?1px;color:blue;")?
????????#?定義顯示圖片部分
????????self.image?=?QLabel(self)
????????#?QMovie是一個可以存放動態(tài)視頻的類,一般是配合QLabel使用的,可以用來存放GIF動態(tài)圖
????????self.movie?=?QMovie("normal/normal1.gif")
????????#?設置標簽大小
????????self.movie.setScaledSize(QSize(200,?200))
????????#?將Qmovie在定義的image中顯示
????????self.image.setMovie(self.movie)
????????self.movie.start()
????????self.resize(1024,?1024)
????????#?調用自定義的randomPosition,會使得寵物出現(xiàn)位置隨機
????????self.randomPosition()
????????#?展示
????????self.show()
????????#?https://new.qq.com/rain/a/20211014a002rs00
????????#?將寵物正常待機狀態(tài)的動圖放入pet1中
????????self.pet1?=?[]
????????for?i?in?os.listdir("normal"):
????????????self.pet1.append("normal/"?+?i)
????????#?將寵物正常待機狀態(tài)的對話放入pet2中
????????self.dialog?=?[]
????????#?讀取目錄下dialog文件
????????with?open("dialog.txt",?"r")?as?f:
????????????text?=?f.read()
????????????#?以\n?即換行符為分隔符,分割放進dialog中
????????????self.dialog?=?text.split("\n")

其中我們希望寵物出現(xiàn)的位置是隨機的而不是固定的,那么便通過 randomPosition()實現(xiàn)寵物出現(xiàn)位置的隨機。

????#?寵物隨機位置
????def?randomPosition(self):
????????#?screenGeometry()函數(shù)提供有關可用屏幕幾何的信息
????????screen_geo?=?QDesktopWidget().screenGeometry()
????????#?獲取窗口坐標系
????????pet_geo?=?self.geometry()
????????width?=?(screen_geo.width()?-?pet_geo.width())?*?random.random()
????????height?=?(screen_geo.height()?-?pet_geo.height())?*?random.random()
????????self.move(width,?height)

④ 寵物正常待機,實現(xiàn)隨機切換動作,對話框通過函數(shù)petNormalAction實現(xiàn),其代碼配置如下

這里通過QTimer實現(xiàn)定時操作,到達設置的時間即調用相關的函數(shù)。其中condition為標識寵物狀態(tài)的flag,0為平常狀態(tài),1為點擊狀態(tài),這個狀態(tài)可按照自己的喜好拓展。talk_condition同理,為標識寵物對話狀態(tài)的flag。

#?寵物正常待機動作
????def?petNormalAction(self):
????????#?每隔一段時間做個動作
????????#?定時器設置
????????self.timer?=?QTimer()
????????#?時間到了自動執(zhí)行
????????self.timer.timeout.connect(self.randomAct)
????????#?動作時間切換設置
????????self.timer.start(3000)
????????#?寵物狀態(tài)設置為正常
????????self.condition?=?0
????????#?每隔一段時間切換對話
????????self.talkTimer?=?QTimer()
????????self.talkTimer.timeout.connect(self.talk)
????????self.talkTimer.start(3000)
????????#?對話狀態(tài)設置為常態(tài)
????????self.talk_condition?=?0
????????#?寵物對話框
????????self.talk()

其中,通過randomAct實現(xiàn)寵物動作的隨機切換,通過talk實現(xiàn)對話框內(nèi)容的切換,其代碼如下:

self.pet1和self.dialog在初始化的時候即定義了。這里可以按照自己的喜好進行拓展,用多個if-else if實現(xiàn)多種狀態(tài)的切換和定義,增加一些喂食,玩耍動作等。

?#?隨機動作切換
????def?randomAct(self):
????????#?condition記錄寵物狀態(tài),寵物狀態(tài)為0時,代表正常待機
????????if?not?self.condition:
????????????#?隨機選擇裝載在pet1里面的gif圖進行展示,實現(xiàn)隨機切換
????????????self.movie?=?QMovie(random.choice(self.pet1))
????????????#?寵物大小
????????????self.movie.setScaledSize(QSize(200,?200))
????????????#?將動畫添加到label中
????????????self.image.setMovie(self.movie)
????????????#?開始播放動畫
????????????self.movie.start()
????????#?condition不為0,轉為切換特有的動作,實現(xiàn)寵物的點擊反饋
????????#?這里可以通過else-if語句往下拓展做更多的交互功能
????????else:
????????????#?讀取特殊狀態(tài)圖片路徑
????????????self.movie?=?QMovie("./click/click.gif")
????????????#?寵物大小
????????????self.movie.setScaledSize(QSize(200,?200))
????????????#?將動畫添加到label中
????????????self.image.setMovie(self.movie)
????????????#?開始播放動畫
????????????self.movie.start()
????????????#?寵物狀態(tài)設置為正常待機
????????????self.condition?=?0
????????????self.talk_condition?=?0
?
????#?寵物對話框行為處理
????def?talk(self):
????????if?not?self.talk_condition:
????????????#?talk_condition為0則選取加載在dialog中的語句
????????????self.talkLabel.setText(random.choice(self.dialog))
????????????#?設置樣式
????????????self.talkLabel.setStyleSheet(
????????????????"font:?bold;"
????????????????"font:25pt?'楷體';"
????????????????"color:white;"
????????????????"background-color:?white"
????????????????"url(:/)"
????????????)
????????????#?根據(jù)內(nèi)容自適應大小
????????????self.talkLabel.adjustSize()
????????else:
????????????#?talk_condition為1顯示為別點我,這里同樣可以通過if-else-if來拓展對應的行為
????????????self.talkLabel.setText("別點我")
????????????self.talkLabel.setStyleSheet(
????????????????"font:?bold;"
????????????????"font:25pt?'楷體';"
????????????????"color:white;"
????????????????"background-color:?white"
????????????????"url(:/)"
????????????)
????????????self.talkLabel.adjustSize()
????????????#?設置為正常狀態(tài)
????????????self.talk_condition?=?0

⑤ 實現(xiàn)能夠拖動寵物,通過多個自帶函數(shù)實現(xiàn),其代碼配置如下:

實現(xiàn)寵物的拖動主要通過三個函數(shù)實現(xiàn),mouserPressEvent負責在鼠標點擊判斷其是否在寵物窗口上,如果在則將寵物和鼠標的位置綁定,并執(zhí)行點擊改變寵物GIF圖和對話框的操作。

mouseMoveEvent實現(xiàn)按下后寵物跟著鼠標移動

mouseReleaseEvent將之前的鎖定取消

?#?鼠標左鍵按下時,?寵物將和鼠標位置綁定
????def?mousePressEvent(self,?event):
????????#?更改寵物狀態(tài)為點擊
????????self.condition?=?1
????????#?更改寵物對話狀態(tài)
????????self.talk_condition?=?1
????????#?即可調用對話狀態(tài)改變
????????self.talk()
????????#?即刻加載寵物點擊動畫
????????self.randomAct()
????????if?event.button()?==?Qt.LeftButton:
????????????self.is_follow_mouse?=?True
????????#?globalPos()?事件觸發(fā)點相對于桌面的位置
????????#?pos()?程序相對于桌面左上角的位置,實際是窗口的左上角坐標
????????self.mouse_drag_pos?=?event.globalPos()?-?self.pos()
????????event.accept()
????????#?拖動時鼠標圖形的設置
????????self.setCursor(QCursor(Qt.OpenHandCursor))
?
????#?鼠標移動時調用,實現(xiàn)寵物隨鼠標移動
????def?mouseMoveEvent(self,?event):
????????#?如果鼠標左鍵按下,且處于綁定狀態(tài)
????????if?Qt.LeftButton?and?self.is_follow_mouse:
????????????#?寵物隨鼠標進行移動
????????????self.move(event.globalPos()?-?self.mouse_drag_pos)
????????event.accept()
?
????#?鼠標釋放調用,取消綁定
????def?mouseReleaseEvent(self,?event):
????????self.is_follow_mouse?=?False
????????#?鼠標圖形設置為箭頭
????????self.setCursor(QCursor(Qt.ArrowCursor))

⑥ 實現(xiàn)寵物右鍵點擊具有交互功能,通過函數(shù)contextMenuEvent實現(xiàn),其代碼配置如下:

退出操作通過 qApp.quit()實現(xiàn),直接退出相應的QT程序。

隱藏操作則通過self.setWindowOpacity(0)實現(xiàn),這個可控制窗口的透明度。

?#?寵物右鍵點擊交互
????def?contextMenuEvent(self,?event):
????????#?定義菜單
????????menu?=?QMenu(self)
????????#?定義菜單項
????????quitAction?=?menu.addAction("退出")
????????hide?=?menu.addAction("隱藏")
????????#?使用exec_()方法顯示菜單。從鼠標右鍵事件對象中獲得當前坐標。mapToGlobal()方法把當前組件的相對坐標轉換為窗口(window)的絕對坐標。
????????action?=?menu.exec_(self.mapToGlobal(event.pos()))
????????#?點擊事件為退出
????????if?action?==?quitAction:
????????????qApp.quit()
????????#?點擊事件為隱藏
????????if?action?==?hide:
????????????#?通過設置透明度方式隱藏寵物
????????????self.setWindowOpacity(0)

⑦ 鼠標移到寵物上的時候顯示為閉合的手

????#?鼠標移進時調用
????def?enterEvent(self,?event):
????????#?設置鼠標形狀?Qt.ClosedHandCursor???非指向手
????????self.setCursor(Qt.ClosedHandCursor)

2.3 完整源碼

import?os
import?sys
import?random
from?PyQt5.QtGui?import?*
from?PyQt5.QtCore?import?*
from?PyQt5.QtWidgets?import?*
?
?
class?DesktopPet(QWidget):
????def?__init__(self,?parent=None,?**kwargs):
????????super(DesktopPet,?self).__init__(parent)
????????#?窗體初始化
????????self.init()
????????#?托盤化初始
????????self.initPall()
????????#?寵物靜態(tài)gif圖加載
????????self.initPetImage()
????????#?寵物正常待機,實現(xiàn)隨機切換動作
????????self.petNormalAction()
?
?
????#?窗體初始化
????def?init(self):
????????#?初始化
????????#?設置窗口屬性:窗口無標題欄且固定在最前面
????????#?FrameWindowHint:無邊框窗口
????????#?WindowStaysOnTopHint:?窗口總顯示在最上面
????????#?SubWindow:?新窗口部件是一個子窗口,而無論窗口部件是否有父窗口部件
????????#?https://blog.csdn.net/kaida1234/article/details/79863146
????????self.setWindowFlags(Qt.FramelessWindowHint?|?Qt.WindowStaysOnTopHint?|?Qt.SubWindow)
????????#?setAutoFillBackground(True)表示的是自動填充背景,False為透明背景
????????self.setAutoFillBackground(False)
????????#?窗口透明,窗體空間不透明
????????self.setAttribute(Qt.WA_TranslucentBackground,?True)
????????#?重繪組件、刷新
????????self.repaint()
?
????#?托盤化設置初始化
????def?initPall(self):
????????#?導入準備在托盤化顯示上使用的圖標
????????icons?=?os.path.join('tigerIcon.jpg')
????????#?設置右鍵顯示最小化的菜單項
????????#?菜單項退出,點擊后調用quit函數(shù)
????????quit_action?=?QAction('退出',?self,?triggered=self.quit)
????????#?設置這個點擊選項的圖片
????????quit_action.setIcon(QIcon(icons))
????????#?菜單項顯示,點擊后調用showing函數(shù)
????????showing?=?QAction(u'顯示',?self,?triggered=self.showwin)
????????#?新建一個菜單項控件
????????self.tray_icon_menu?=?QMenu(self)
????????#?在菜單欄添加一個無子菜單的菜單項‘退出’
????????self.tray_icon_menu.addAction(quit_action)
????????#?在菜單欄添加一個無子菜單的菜單項‘顯示’
????????self.tray_icon_menu.addAction(showing)
????????#?QSystemTrayIcon類為應用程序在系統(tǒng)托盤中提供一個圖標
????????self.tray_icon?=?QSystemTrayIcon(self)
????????#?設置托盤化圖標
????????self.tray_icon.setIcon(QIcon(icons))
????????#?設置托盤化菜單項
????????self.tray_icon.setContextMenu(self.tray_icon_menu)
????????#?展示
????????self.tray_icon.show()
?
????#?寵物靜態(tài)gif圖加載
????def?initPetImage(self):
????????#?對話框定義
????????self.talkLabel?=?QLabel(self)
????????#?對話框樣式設計
????????self.talkLabel.setStyleSheet("font:15pt?'楷體';border-width:?1px;color:blue;")
????????#?定義顯示圖片部分
????????self.image?=?QLabel(self)
????????#?QMovie是一個可以存放動態(tài)視頻的類,一般是配合QLabel使用的,可以用來存放GIF動態(tài)圖
????????self.movie?=?QMovie("normal/normal1.gif")
????????#?設置標簽大小
????????self.movie.setScaledSize(QSize(200,?200))
????????#?將Qmovie在定義的image中顯示
????????self.image.setMovie(self.movie)
????????self.movie.start()
????????self.resize(1024,?1024)
????????#?調用自定義的randomPosition,會使得寵物出現(xiàn)位置隨機
????????self.randomPosition()
????????#?展示
????????self.show()
????????#?https://new.qq.com/rain/a/20211014a002rs00
????????#?將寵物正常待機狀態(tài)的動圖放入pet1中
????????self.pet1?=?[]
????????for?i?in?os.listdir("normal"):
????????????self.pet1.append("normal/"?+?i)
????????#?將寵物正常待機狀態(tài)的對話放入pet2中
????????self.dialog?=?[]
????????#?讀取目錄下dialog文件
????????with?open("dialog.txt",?"r")?as?f:
????????????text?=?f.read()
????????????#?以\n?即換行符為分隔符,分割放進dialog中
????????????self.dialog?=?text.split("\n")
?
????#?寵物正常待機動作
????def?petNormalAction(self):
????????#?每隔一段時間做個動作
????????#?定時器設置
????????self.timer?=?QTimer()
????????#?時間到了自動執(zhí)行
????????self.timer.timeout.connect(self.randomAct)
????????#?動作時間切換設置
????????self.timer.start(3000)
????????#?寵物狀態(tài)設置為正常
????????self.condition?=?0
????????#?每隔一段時間切換對話
????????self.talkTimer?=?QTimer()
????????self.talkTimer.timeout.connect(self.talk)
????????self.talkTimer.start(3000)
????????#?對話狀態(tài)設置為常態(tài)
????????self.talk_condition?=?0
????????#?寵物對話框
????????self.talk()
?
????#?隨機動作切換
????def?randomAct(self):
????????#?condition記錄寵物狀態(tài),寵物狀態(tài)為0時,代表正常待機
????????if?not?self.condition:
????????????#?隨機選擇裝載在pet1里面的gif圖進行展示,實現(xiàn)隨機切換
????????????self.movie?=?QMovie(random.choice(self.pet1))
????????????#?寵物大小
????????????self.movie.setScaledSize(QSize(200,?200))
????????????#?將動畫添加到label中
????????????self.image.setMovie(self.movie)
????????????#?開始播放動畫
????????????self.movie.start()
????????#?condition不為0,轉為切換特有的動作,實現(xiàn)寵物的點擊反饋
????????#?這里可以通過else-if語句往下拓展做更多的交互功能
????????else:
????????????#?讀取特殊狀態(tài)圖片路徑
????????????self.movie?=?QMovie("./click/click.gif")
????????????#?寵物大小
????????????self.movie.setScaledSize(QSize(200,?200))
????????????#?將動畫添加到label中
????????????self.image.setMovie(self.movie)
????????????#?開始播放動畫
????????????self.movie.start()
????????????#?寵物狀態(tài)設置為正常待機
????????????self.condition?=?0
????????????self.talk_condition?=?0
?
????#?寵物對話框行為處理
????def?talk(self):
????????if?not?self.talk_condition:
????????????#?talk_condition為0則選取加載在dialog中的語句
????????????self.talkLabel.setText(random.choice(self.dialog))
????????????#?設置樣式
????????????self.talkLabel.setStyleSheet(
????????????????"font:?bold;"
????????????????"font:25pt?'楷體';"
????????????????"color:white;"
????????????????"background-color:?white"
????????????????"url(:/)"
????????????)
????????????#?根據(jù)內(nèi)容自適應大小
????????????self.talkLabel.adjustSize()
????????else:
????????????#?talk_condition為1顯示為別點我,這里同樣可以通過if-else-if來拓展對應的行為
????????????self.talkLabel.setText("別點我")
????????????self.talkLabel.setStyleSheet(
????????????????"font:?bold;"
????????????????"font:25pt?'楷體';"
????????????????"color:white;"
????????????????"background-color:?white"
????????????????"url(:/)"
????????????)
????????????self.talkLabel.adjustSize()
????????????#?設置為正常狀態(tài)
????????????self.talk_condition?=?0
?
????#?退出操作,關閉程序
????def?quit(self):
????????self.close()
????????sys.exit()
?
????#?顯示寵物
????def?showwin(self):
????????#?setWindowOpacity()設置窗體的透明度,通過調整窗體透明度實現(xiàn)寵物的展示和隱藏
????????self.setWindowOpacity(1)
?
????#?寵物隨機位置
????def?randomPosition(self):
????????screen_geo?=?QDesktopWidget().screenGeometry()
????????pet_geo?=?self.geometry()
????????width?=?(screen_geo.width()?-?pet_geo.width())?*?random.random()
????????height?=?(screen_geo.height()?-?pet_geo.height())?*?random.random()
????????self.move(width,?height)
?
????#?鼠標左鍵按下時,?寵物將和鼠標位置綁定
????def?mousePressEvent(self,?event):
????????#?更改寵物狀態(tài)為點擊
????????self.condition?=?1
????????#?更改寵物對話狀態(tài)
????????self.talk_condition?=?1
????????#?即可調用對話狀態(tài)改變
????????self.talk()
????????#?即刻加載寵物點擊動畫
????????self.randomAct()
????????if?event.button()?==?Qt.LeftButton:
????????????self.is_follow_mouse?=?True
????????#?globalPos()?事件觸發(fā)點相對于桌面的位置
????????#?pos()?程序相對于桌面左上角的位置,實際是窗口的左上角坐標
????????self.mouse_drag_pos?=?event.globalPos()?-?self.pos()
????????event.accept()
????????#?拖動時鼠標圖形的設置
????????self.setCursor(QCursor(Qt.OpenHandCursor))
?
????#?鼠標移動時調用,實現(xiàn)寵物隨鼠標移動
????def?mouseMoveEvent(self,?event):
????????#?如果鼠標左鍵按下,且處于綁定狀態(tài)
????????if?Qt.LeftButton?and?self.is_follow_mouse:
????????????#?寵物隨鼠標進行移動
????????????self.move(event.globalPos()?-?self.mouse_drag_pos)
????????event.accept()
?
????#?鼠標釋放調用,取消綁定
????def?mouseReleaseEvent(self,?event):
????????self.is_follow_mouse?=?False
????????#?鼠標圖形設置為箭頭
????????self.setCursor(QCursor(Qt.ArrowCursor))
?
?
????#?鼠標移進時調用
????def?enterEvent(self,?event):
????????#?設置鼠標形狀?Qt.ClosedHandCursor???非指向手
????????self.setCursor(Qt.ClosedHandCursor)
?
????#?寵物右鍵點擊交互
????def?contextMenuEvent(self,?event):
????????#?定義菜單
????????menu?=?QMenu(self)
????????#?定義菜單項
????????quitAction?=?menu.addAction("退出")
????????hide?=?menu.addAction("隱藏")
????????#?使用exec_()方法顯示菜單。從鼠標右鍵事件對象中獲得當前坐標。mapToGlobal()方法把當前組件的相對坐標轉換為窗口(window)的絕對坐標。
????????action?=?menu.exec_(self.mapToGlobal(event.pos()))
????????#?點擊事件為退出
????????if?action?==?quitAction:
????????????qApp.quit()
????????#?點擊事件為隱藏
????????if?action?==?hide:
????????????#?通過設置透明度方式隱藏寵物
????????????self.setWindowOpacity(0)
?
?
if?__name__?==?'__main__':
????#?創(chuàng)建了一個QApplication對象,對象名為app,帶兩個參數(shù)argc,argv
????#?所有的PyQt5應用必須創(chuàng)建一個應用(Application)對象。sys.argv參數(shù)是一個來自命令行的參數(shù)列表。
????app?=?QApplication(sys.argv)
????#?窗口組件初始化
????pet?=?DesktopPet()
????# 1. 進入時間循環(huán);
????# 2. wait,直到響應app可能的輸入;
????# 3. QT接收和處理用戶及系統(tǒng)交代的事件(消息),并傳遞到各個窗口;
????# 4. 程序遇到exit()退出時,機會返回exec()的值。
????sys.exit(app.exec_())

三、程序打包

3.1 安裝pyinstaller

pip?install?pyinstaller?

如果提示黃色提示pip版本問題,照著上面的提示修改即可

3.2 項目目錄下完成打包

進入打開cmd命令行,進入項目目錄,輸入命令

pyinstaller?-F?-w?main.py

打包完成后,在生成的dist里面可以看到main.exe文件

這里因為我自己的原因,需要將main.exe放到主目錄下才可正常運行

四、總結與參考資料

4.1 項目百度網(wǎng)盤:

鏈接:https://pan.baidu.com/s/1YYXzGpmCJkz43tYuki1wFQ 提取碼:3gkw

DeskTopPetEXE為帶打包好的文件。

DeskTopPet是打包前的文件。

4.2 總結

寫之前挺開心的,寫的時候也挺開心的,寫完之后就有點索然無味了。

長按或掃描下方二維碼,后臺回復:加群,即可申請入群。一定要備注:來源+研究方向+學校/公司,否則不拉入群中,見諒!

長按三秒,進入后臺


推薦閱讀

瀏覽 55
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報

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

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 男女av在线观看| 青春草在线播放| 久久香蕉电影| 嫩草av在线| 免费成人黄色| 乱伦视频网站| 五月婷亚洲精品AV天堂| 99久久精品国产一区二区成人 | 2025AV在线| 成人激情四射网| 中文字幕天天在线| 97人妻碰碰中文无码久热丝袜| 亚洲黄色视频网站| 自拍偷拍亚洲| 成人无码视频在线观看| 亚洲午夜在线观看| 激情内射网站| 激情综合网站| 中文字幕va| 国产三级性爱视频| www.大香蕉伊人| 91香蕉国产在线观看| 黄色毛片,男人天堂| 黄色A片视频| av免费播放| 国产无码中文字幕| 日韩欧美v| 97色色婷婷| 午夜福利电影AV| 在线观看中文字幕一区| 成人性爱视频免费在线观看| 久久精品片| 国产乱码在线| 极品小仙女69| 日韩骚逼| 人人操人人干人人爽| 456亚洲影院| 国产精品乱子伦视频一区二区 | 日韩最新无码发布| 亚洲美女视频网| 影音先锋女人aV鲁色资源网站| 欧美日韩一级在线观看| 亚洲视频欧洲视频| 波多野结衣高清av久久直播免| 91精品国产成人www| 天天狠天天干| 丰满人妻一区二区三区Av猛交| 无码人妻丰满熟妇精品区| 国产欧美精品在线观看| 日韩成人视屏| 成人在线观看网| 日韩精彩视频| 精品国产AV鲁一鲁一区| 亚洲精品久久久久毛片A级牛奶| 欧美自拍一区| 思思热在线视频播放| 中文字幕无码A片久久| 亚洲精品成人无码熟妇在线| 88AV在线观看| 日韩欧美91| 色哟哟――国产精品| 97超碰人人摸| 久久嫩草| AV色天堂| 日本乱伦网| 一本色道久久综合无码| 亚洲www在线| 韩国无码片| 黄片网页| 精品免费| 超碰操逼| 日屄视频在线观看| 久草超碰| 日韩中文字幕在线| 日韩大片免费观看| 99精品视频北条麻妃国产版 | 另类视频在线| 一本道综合网| 亚洲女人视频| 国产AV资源网| 无码不卡在线观看| 69成人精品国产| h网站在线观看| 黄色片在线免费观看| 韩国高清无码| 国产无码成人电影| 你懂的在线视频观看| 亚洲天堂美女| 天天舔九色婷婷| 亚洲AV无码乱码国产精品黑人| 宅男噜噜噜66一区二区| 91亚洲精选| 国产一区二区三区四区五区在线| 五月天开心网| 欧美国产日韩在线| 香蕉视频色| 国产午夜福利电影| 一级黄色AV片| 五月丁香视频在线| 亚洲人人18XXX—20HD| 五月婷在线视频| 亚洲无码人妻视频| 国产精品一区二区不卡| 丁香色色网| 免费的黄色视频| 高潮视频在线观看| 欧美人妻视频在线| 中文字幕网站在线观看| 国产熟女AV| 免费看毛片的网站| 久激情内射婷内射蜜桃欧美一级| 日韩中文字幕在线观看视频| 日本少妇高潮| 日韩三级小说| 色高清无码免费视频| 国产精品无码激情视频| 亚洲免费观看在线观看| 狠狠狠狠狠狠干| 黄色视频毛片| 欧美黄色免费观看| 国产白丝在线观看| 婷婷五月天在线观看| 成人国产精品在线观看| 日本一区二区视频在线观看| 成人污污视频| 99热在线只有精品| v在线| 天天干,夜夜操| 黑人AV| 日韩一区二区免费看| 久久久久99精品成人片直播| 久久成人网豆花视频| 农村老太HD肉HD| 亚洲AV男人天堂| 人妖黄片| 18SAV| 波多野结衣福利视频| 中文字幕在线观看有码| 国产在线观看免费| 荫蒂添出高潮A片视频| 三级片视频网站| 日韩精品一区二区三区四区| 51嘿嘿嘿国产精品伦理| 在线观看免费一区| 亚洲怡春院| 久久久久无码精品亚洲日韩| 九九免费视频| 免费黄色小视频在线观看| 亚洲精品二| 熟女综合网| 中文在线观看视频| 高清无码免费在线观看| 精品视频在线免费| 日本在线一级| 婷婷在线电影| 啪啪网站免费| 动图综合亚洲综合欧美男男| 青娱乐A片| 无码中文在线| www| av在线免费播放| 中国乱伦视频| 高圆圆一区二区三区| 人人妻人人澡人人爽人人爽| 北京熟妇槡BBBB槡BBBB| 无码性爱视频| 在线看黄网| 国产成人主播| 国产精品a久久久久| 成人精品在线视频| 人妻无码A| 久久都是精品| 国产口爆在线观看| 青草视频在线播放| 俺来了俺去了www色官网| 国产一级片免费视频| 国产视频在线播放| 亚洲中文字幕免费| 韩日无码| 久久影院av| 欧美成人视频网| 肉乳无码A片av| 国产aa| 91精彩视频| 麻豆视频免费观看| 无码色色| 黄色片免费看| 欧美熟妇擦BBBB擦BBBB| 69视频免费观看| AV免费在线播放| www.啪啪| 国产无遮挡又黄又爽又| 99久re热视频精品98| 黑人人妻黑人ThePorn| 麻豆成人91精品二区三区| 91在线成人视频| 国产无遮挡又黄又爽又色视频| 中文字幕日韩av| 国产操逼片| 日韩欧美a片| 51AV在线| 亚洲AV高清无码| 亚洲高清无码久久| 操BBB操BBB| 中文字幕不卡无码| 亚洲视频在线观看免费| 中文字幕成人网站中文字幕| 久久永久免费视频| 亚洲日韩中文字幕在线| 日韩黄色A级片| 91亚洲国产成人久久精品网站| 一本色道久久综合狠狠躁的推荐 | 色AV高清| 日韩人妻系列| 国产成人a亚洲精品| 黄色伊人| 色婷婷7777| 精品日韩一区二区三区| 黄网站免费看| 91丨九色丨蝌蚪丨对白| 国产无码AV在线| 亚洲精品高清无码| av大片在线观看| 日韩精品成人免费观看视频| 麻豆专区| 美女啪啪网站| 色婷婷激情综合网| 午夜福利成人视频| 大香蕉亚洲成人| 久久8| 亚洲AV高清| 成人国产欧美日韩在线视频| 九九久久免费视频| 亚洲av中文| 国产乱码| 国产一区二区电影| 精品AV| 色哟哟视频在线观看| 天天视频国产| 狠狠网| 思思热在线视频精品| 中日韩在线| 波多野结衣一区二区| 欧美色色综合| 91小视频在线观看| 香蕉国产AV| 日本黄色视频网| 成人在线精品视频| 黄色电影天堂网站| 一区二区三区四区在线看| www.麻豆网91成人久久久| 欧美成人免费精品| 久久精品国产精品| 性感欧美美女| 午夜福利电影AV| 欧美人妻视频| 成人水蜜桃| 先锋资源av在线| 91视频亚洲| 欧美日韩成人网站| 成人激情在线观看| 仙踪林777777野大粗| 精品动漫一区二区三区| 国产黄片免费观看| 日本天堂网在线观看| 亚洲第一黄网| 五月丁香综合久久| 秘亚洲国产精品成人网站| 最新中文字幕在线| 人妻丰满熟妇av无码| 337p西西人体大胆瓣开下部 | 蜜桃视频无码区在线观看| 欧美性爱一区二区三区| 香蕉国产在线视频| AV小说在线观看| 东京热免费视频| 国产精品久久久久久久久久久久久久久久 | 东北老女人性爱视频| 国产真实乱婬A片三区高清蜜臀| 日本久久高清| 一本无码视频| 国产精品久久久久久久久久久久| 一级a一级a免费观看免免黄‘/| 青青草激情视频| 国产人妻精品一区二区三区不卡 | 热久久免费| 午夜做爱福利视频| 久久综合操| 日韩黄色大片| 人人妻日日摸狠狠躁视频| 黄色小视频免费观看| 黄色电影一级| 成人激情综合| 中文字幕日韩无码电影| 日本欧美在线播放中文| 亚洲中文字幕av| 欧美性爱在线播放| www.麻豆网91成人久久久| 高清无码视频免费看| 欧美视频免费在线观看| 夜夜bb| 久久久久久久久免费看无码| 丁香五月一区二区| 亚洲Av无码成人专区擼| 东北成人毛片| 天天日天天日天天干| 正在播放李彩斐被洋老外| 在线观看成人18| 久草网站| 国产乱伦毛片| 亚洲成人一区二区| 午夜性福利视频| 欧美老妇性猛交| 亚洲AV秘无码不卡在线观看 | AV电影在线观看| 波多野结衣在线精品| 亚洲乱淫| 国产精品乱伦片| 久久伊人影院| 久久久91人妻无码精品蜜桃ID| 不卡AV在线| 另类老妇奶性生BBwBBw偷拍| 伊人久色| 免费爱爱网站| 蜜臀999| 超碰97成人| 精品不卡| 蜜臀久久99精品久久| 久久国产av| 成人精品福利| 国产中文字幕视频| 中文字幕精品1| 久久久久国产一区二区三区| 日日99| 亚洲无码免费看| 国产熟妇码视频app| 日韩激情无码| 精品国产A片| 强伦人妻一区二区三区| 91国产乱伦| 97在线鲁碰免费视频| 欧美成人福利| 日韩成人黄色视频| 欧美一级大香蕉| 日韩精品黄片| 操BBBB| 日日夜夜综合| 日韩高清一区| 久久久久久五月天| 毛片一区| 国产香蕉av| 亚洲国产黄片| 精品成人无码| 黄色视频免费| 高清免费无码视频| 日本中文字幕网| 草草网| 国产亚洲色婷婷久久99精品| 国产AV无码区亚洲| 在线中文字幕AV| 一本免费视频| 玩弄人妻少妇500系列视频| 丁香一区二区| 女毛片| 日本中文字幕网站| 亚洲成人大香蕉视频| 亚洲成人观看| 夜夜操夜夜撸| 成人免费看AA片| 国产精品扒开腿做爽爽爽视频| 91视频在线免费观看| 国产多人搡BBBB槡BBBB| 久久黄色视频免费看| 图片区小说区区亚洲五月| 人人爽人人爽人人| 天堂综合网| 一级a免一级a做免费线看内祥| 亚洲乱码国产乱码精品天美传媒| 亚洲色图成人网| 蜜芽成人在线视频| 中文字幕第五页| 影音先锋成人在线资源| 日本三级网址| 国产精品欧美精品| 一级内射片在线网站观看| 一区免费视频| 91福利视频在线观看| 99成人电影| 免费黄色视频大全| 国产成人精品无码片子的价格| 色婷婷在线播放| 国产av不卡| 人人操人人网站| 蜜桃免费视频| 日韩不卡AV| 亚洲乱论| 免费的黄色视频| 狠狠干狠狠艹| 国产免费看| 日韩另类视频| 97干网| 亚洲中文字幕av| 91久久国产综合久久91精品网站| 霸道总裁雷总各种姿势白浆爱情岛论坛 | 操美女的网站| 俺来也俺去也| 豆花视频免费观看| 一区二区三区四区日韩| 成人性爱网站| 日本精品人妻| 五月丁香婷婷久久| 日本无码人妻| 欧美精品成人免费| 成人在线视频一区| www.91爱爱,com| 国产成人午夜精品无码区久久麻豆 | 亚洲精品无码一区| 波多野结衣不卡| 国产最新地址| www.91九色| 国产乱子伦真实精品| 精品无码久久久| 久久久久久久极品内射| 丁香五月网| 欧美日韩大香蕉| 黑人精品XXX一区一二区| 无码在线免费| 拍真实国产伦偷精品| 成人毛片一区二区三区无码 | 国产五月婷婷| 操逼999| 久久久精品黄色网址| 亚洲色婷婷综合| 一级a片免费| 精品国产免费观看久久久_久久天天| 波多野结衣无码电影| 亚洲vs无码秘蜜桃| 日本乱码视频| 黄色A级毛片| 中文字幕丰满熟妇人妻| 日日射视频| 无码天堂| 人人操人人干人人爽| 日本69AV| 久久这里有精品视频| 日韩精品久久| 欧美激情影院| 午夜爱爱免费视频| 日批视频| 亚洲小说区图片区| 91成人小视频| 按摩性高湖婬AAA片A片中国| 秋霞午夜福利| 新妺妺窝窝777777野外| 欧美亚洲国产一区二区三区| 成人AV电影在线观看| 五月婷婷中文| 九九精品99| 一本久道视频一本久道| 久久久久久精品国产三级| 成人A片免费看| 各种BBwBBwBBwBBw| 特一级黄A片| 精品熟女| 一级黄色片在线观看| 国产精品一区二区在线观看| 91视频黄| 波多野结衣AV在线| 亚洲黄片视频| 亚洲欧美视频一区| 妹子色综合| 天天干天天干| 午夜成人在线观看| 久久99国产乱子伦...| 九九re精品视频在线观看| avcom无码| 第一福利视频导航| 北条麻妃毛片| 中文字幕无码播放| 成人国产片女人爽到高潮| 黄网站免费看| 日本成人久久| 国内不卡一卡二视频| 69日逼| AV在线资源| 91超碰在线免费观看| 久久国产精品一区二区三区| 中文字幕亚洲专区| 欧美人人插| 影音先锋亚洲无码| 天堂操逼| 亚洲精品成人无码AV在线| 特黄色A级片视频| 成人视频欧美| 色综合色| 黄色视频在线免费播放| 大香蕉免费在线| 日韩熟妇人妻中文字幕| 免费做爱视频网站| av女人天堂| 免费在线A| 91干逼| 中文字幕亚洲专区| 麻豆毛片| 蜜桃视频一区二区三区| 猫咪AV成人永久网站| 狠狠躁18三区二区一区免费人| 亚洲AV成人电影| 无码做爰欢H肉动漫网站在线看| 91AV视频| 成人黄色电影在线观看| 国产一级a毛一级a做免费图片| 高清无码免费不卡| 国产农村乱婬片A片AAA图片| 国产精品色婷婷99久久精品| 欧美日韩在线播放| 精品婷婷| 亚洲av免费看| 亚洲成人性爱视频| 国产成人精品免高潮在线观看| 久久久久久久久久久久久久久久久久免费精品分类视频 | 狠狠肏视频| 大香蕉精品欧美色综合2025| 国产激情av| 久久93| 欧美五月激情| 男女无套在线观看免费| 免费看黄色的网站| 国产人妻精品一区二区三区不卡| 欧美经典自拍狼友| 三级片中文字幕| A免费视频| 色婷婷一区二区三区久久午夜 | 久操视频在线免费观看| 性爱视频免费| 91西安站街老熟女露脸| 久久久极品| 久久国产偷拍| 亚洲精品一区二区三区蜜桃 | 国产精品99久久免费黑人人妻| 伊人成人视频在线观看| 欧美操B视频| 3D动漫精品啪啪一区二区下载 | 翔田千里无码免费播放| 日韩潮喷| 欧美亚洲色色网视频| a片在线免费观看| 51成人网| 超碰在线国产| 人人爱天天做| 精品动漫3D一区二区三区免费版| 亚洲成人一二三区| 大香蕉伊人手机在线| 色婷婷久久久久swag精品| 一本色道久久综合亚洲精东小说| 天天操天天拍| 日韩中文欧美| 日本视频一区二区三区| 国产AV无码高清| 国产精品永久久久久久久久久| 走光无码一区二区三区| 国产精品无码乱伦| 国产色秘乱码一区二区三区| 狠狠久久| 天天干天天日天天干| 一区二区黄色| 日韩无码动漫| 人妻天天干| 操逼网首页123| 成人网站www污污污网站公司| a片在线观看免费| 亚洲中文字幕在线观看视频网站 | 18禁网站在线看| 久久久久久97电影院电影院无码| 久久久一区二区三区四区免费听 | 少妇搡BBBB搡BBB搡18禁| 国产一级黄色毛片| 亚洲人成免费网站| xxx国产精品| 日韩欧美高清| 桃色AV| 狼人久久| 男人的天堂视频| 97激情| 免费看黄片的网站| 特級西西444WWw高清大膽| 日韩精品免费无码视频| 日本内射在线播放| 日皮网站在线观看| 色综合色综合色综合| 日韩中文无码电影| 水果派红桃AV解说| 亚洲av二区| 成人免费无码A片免费| 国产免费一区二区三区四区| aa人人操夜夜操人人| 亚洲18禁| 亚洲无码中文字幕在线观看| 国产成人精品AV在线观| AV电影在线观看| 国产日韩精品无码去免费专区国产 | 日本少妇久久| 在线观看AV无码| 健身房被教练3p喷水了| 东京热综合影院| 久艹| 91精品国产成人观看| 波多野结衣视频在线播放| 国产高清视频在线| 高清无码在线看| 黄色大片在线免费观看| 西西人体WW大胆无码| 午夜黄色电影| 无码视频免费看| 亚洲有码在线观看| 婷婷五月天亚洲| 天天操综合| 大色网小色网| 婷婷五月天在线播放| 国产精品综合激情| 一区二区视频在线观看| 在线观看无码高清| 欧美熟妇精品黑人巨大一二三区| 一本一道无码免费看视频| 91资源在线观看| 免费无码婬片AAAA片直播| 黄片日逼| 蜜桃av秘无码一区二区三欧| 三级片在线网站| 逼特逼视频在线观看| 日本黄色一级| 亚洲成人免费在线观看| 国产一级a一级a免费视频| 精品无码电影| 一级黄色电影免费看| 午夜AV影院| BBW老熟女BBw| 肏屄在线视频| 亚洲精品在线视频| 91视频一区二区| 大色欧美| 青春草在线观看| 国产无码一区二区| 国产三级| 日本人人操人人摸| 欧美特级毛片| 8050午夜一级免费| 91香蕉国产在线观看| 日韩无码破解| 亚洲人成77777| 国产福利在线导航| 少妇人妻一区二区三区| 午夜福利区| 国产成人网站免费观看| 久久精品偷拍视频| 大香蕉尹人视频| 青青草原无码| 韩国精品一区二区三区| 欧美一级在线视频| 97人妻一区二区三区| 亚洲欧美一区二区三区在线| 水蜜桃一区| 视频一区中文字幕| 四虎永久在线精品无码| 欧美三级长视频| 欧洲毛片基地c区| 影音先锋AV成人| 人人看人人摸人人插| AV国产精品| 国产1级a毛a毛1级a毛1级| 亚洲黄色电影在线| A片网站在线观看| 久久久久久久大香蕉| 五月天激情综合网| 精品视频久久久| 免费看无码一级A片在线播放| 欧美日本亚洲| 亚洲激情小说| 欧美成人图片视频在线| 四虎影库男人天堂| 婷婷五月福利| 中文字幕丰满的翔田千里| jt33免费观看高清| 亚洲AV无码专区在线播放中文| 久久久成人网站| 中文字幕av一区二区| 免费在线观看a| 超碰成人在线观看| 天a堂8在线www| 天天操嫩逼无套视频| 五十路義母| 91三级片在线播放| 成人小说亚洲一区二区三区| 婷婷色五月激情| 日韩无码性爱视频| 成人国产AV精| 超碰天天干| 无码视频在线免费观看| gogogo高清在线观看免费直播中国 | 国产成人精品二三区麻豆| 国产高清一区二区三区| 人人澡人人澡| 国产av资源| 正在播放ADN156松下纱荣子| 福利视频导航自拍| 国产精品资源在线观看| 婷婷毛片| 嫩BBB槡BBBB槡BBBB视频-百度| 一本色道久久88加勒比| 国产高清无码免费| 色男人天堂| 黄色成人视频网站在线观看| 午夜亚洲视频| 亚洲成年网| 自拍偷拍网址| 成人精品久久| 国产1区2区| 中文字幕免费在线观看| 成人av影院| 狠狠做深爱婷婷久久综合一区| 亚洲欧洲天堂| 粉嫩护士小泬18p| 国产无码在线看| 九九九精彩视频| 亚洲男人天堂| 天天干天天日蜜臀色欲av| 成年网站| 日日操网| 亚洲V国产v欧美v久久久久久| 午夜福利欧美| 亚洲三级在线| 白丝自慰网站| 日韩在线视频第一页| 成人图片小说| 日韩在线中文字幕视频| 日本无码视频在线观看| 婷婷久久综合| 国内一级黄片| 骚逼日本| 波多野结衣一级婬片A片免费下载| 欧美一级大香蕉| 久久黄网| 日韩中文性受视频| 日本欧美成人片AAAA| 日韩三级在线播放| 日韩中文在线播放| 中文字幕日韩在线视频| AV中文在线| 婷婷激情五月天丁香| 高清无码在线免费视频| 五月天成人小说| 人人妻人人爱人人操| 日韩无码久久久| 亚洲av性爱| 丰满人妻一区二区三区46| 色欲影音| 黄色成人在线免费观看| 五月婷婷激情| 四虎激情| 亚洲无码av中文字幕| 狠狠色婷婷777| 欧美日韩国产一区二区| 99精品视频在线观看| 日韩一级A| 国产熟妇码视频app| 国产91在线观看| 你懂的视频在线观看| 久久人操| 午夜老司机福利一二三区| 99久久久国产| 91做爱| 国产做爱导航| 99热黄色| 人操人妻| 夜夜高潮夜夜爽| 天天干天天爽| 四川妇搡BBBB搡BBBB| 在线成人AV| 在线免费观看无码| 亚洲精品午夜福利| 亚洲天堂av在线免费观看| 高清无码在线免费视频| 北条麻妃在线一区| 豆花成人视频| 午夜黄色操逼视频| 全国男人的天堂网站| 日韩中文字幕网站| 天天干天天撸| 国产精品毛片A√一区| 黄色视频在线观看地址| 日韩成人小说| 777777国产77777777| 特一级黄色电影| 中文无码一区二区三区四区| 西西人体444rt高清大胆模特 | 一级黄色在线| 久久草草热国产精品| 亚洲国产精品自在自线| 亚洲国产精品精JIZZ老师| 日本A片免费观看| 日韩在线视频播放| 天天爽夜夜爽AA片免费| 国产在线观看无码| 国产美女啪啪视频| 国产人人操| 黄色免费毛片| 北条麻妃波多波多野结衣| 荫蒂添出高潮A片视频| 日韩亚洲中文在线| 天堂8在线视频| www一级片| 无码-ThePorn| 国产在线观看一区| 麻豆做爱| 欧美色图15P| 韩日A片| 国产白丝精品91爽爽久久| 三级片在线网站| 国产av资源| 国产在线精品自拍| 婷婷性爱五月天| 操逼动漫| 伊人黄色网| 国产欧美在线看| 老熟女乱伦| 视频一区二区免费| 99精品视频16在线免费观看| 婷婷狠狠| 亚洲福利久久| 国产色色网| 五月婷婷丁香综合| 三级电影久久麻豆| 亚洲人成人无码.www粉色| 2018天天干天天操| 日韩经典视频在线播放| 国产欧美日韩综合在线视频| 操屄视频在线| 日本A片| 亚洲欧美在线成人| 日韩操逼逼| 精品三级片| 日本亚洲精品秘入口A片| 亚洲AV偷拍| 免费A片视频| 91黄网站在线观看| 亚洲三级黄色视频| 上海熟搡BBB搡BBBB| 成人网站大香蕉| 影音先锋av中文字幕| 国产又粗又大又爽91嫩草| 午夜福利123| 成人国产AV精| 中文字幕免费在线看一区七区| 中文无码高清视频| 中文字幕国产在线| 国产亚洲视频在线观看视频| 日韩一级免费在线观看| 一区二区三区四区免费| AV无码不卡| 亚洲九九视频| 天天操网站| 2021狠狠操| 亚欧三级| 日韩高清无码免费| 国产日韩二区| 欧美日韩中文字幕| 天天天做夜夜夜夜爽无码| 久久成人无码| 亚欧毛片| 337P大胆粉嫩银噜噜噜| 成年女人免费视频| 五月天激情小说| 午夜亚洲无码| 天天看天天日| 在线操B视频| 成人午夜在线观看| 精品国产乱子伦一区二区三区最新章 | 免费黄色小视频| 国产无码高清在线观看| 俺去啦在线| 亚洲性爱综合| 精品五月天| 免费A片视频| 日日久视频| 婷婷五月在线观看| 四虎激情| 天天爱天天爽| 黄色操逼视频| 四房五月婷婷| 91精品视频在线播放| 欧美成人福利视频| 国产秘精品一区二区三区免费| 欧美肏屄视频| 国产精品毛片一区二区在线看| 自拍AV在线| 中文无码高清在线| 免费日本黄色| 最新版本日本亚洲色| 羽月希奶水饱胀在线播放| 水果派解说在线观看|