<wbr id="wsjqy"></wbr>

          <form id="wsjqy"></form>
          <sub id="wsjqy"></sub>
          <nav id="wsjqy"><listing id="wsjqy"></listing></nav>
          更多課程 選擇中心


          Python培訓

          400-111-8989

          python應用|七夕快到了,教你用python去表白!

          • 發布:遂越凈郝
          • 來源:知乎
          • 時間:2018-07-10 17:03

          對于如何表白俘獲女神的心,你有什么高招?馬上就要到來的七夕節,你準備了什么驚喜?小編為了讓你七夕有人陪,也是煞費苦心,這就教你如何用python去表白,不僅浪漫,還顯示出咱的智慧與潛力,快來學吧:

          最近一直在被抖音視頻的表白程序刷屏,之前小編也收到過一個VB編寫一個表白程序:

          python應用|七夕快到了,教你用python去表白!

          網上也流傳過很多類似的表白程序,但是基本上都是由VB或者易語言編寫的。

          難道我大Python不能寫出這樣的程序來么?

          人生苦短,我用Python,難道是開玩笑的?!肯定是可以編寫出來的!

          效果圖:

          python應用|七夕快到了,教你用python去表白!

          如果你要點擊關閉的話,是關不掉的喲:

          python應用|七夕快到了,教你用python去表白!

          如果點擊考慮考慮的話:

          python應用|七夕快到了,教你用python去表白!

          主要用到的是pyqt5

          素材是一張800*800的表情包

          python應用|七夕快到了,教你用python去表白!

          完整代碼

          # -*- coding: utf-8 -*-
          
          import sys
          
          from PyQt5 import QtWidgets
          
          from PyQt5.QtGui import QFont,QIcon#QtWidgets不包含QFont必須調用QtGui
          
          from PyQt5 import QtGui,QtCore
          
          import random
          
          class MessageBox(QtWidgets.QWidget):#繼承自父類QtWidgets.QWidget
          
          CloseAllowed=0
          
          def __init__(self,parent = None):#parent = None代表此QWidget屬于最上層的窗口,也就是MainWindows.
          
          QtWidgets.QWidget.__init__(self)#因為繼承關系,要對父類初始化
          
          #通過super初始化父類,__init__()函數無self,若直接QtWidgets.QWidget.__init__(self),括號里是有self的
          
          self.setGeometry(300, 300, 800,800) # setGeometry()方法完成兩個功能--設置窗口在屏幕上的位置和設置窗口本身的大小。它的前兩個參數是窗口在屏幕上的x和y坐標。后兩個參數是窗口本身的寬和高
          
          #self.resize(1000, 500) # 設置窗體大小,本行可有可無。
          
          self.center()#自定義一個居中的函數
          
          self.setFixedSize(self.width(),self.height());#PyQT禁止調整窗口大小和窗口最大化按鈕
          
          #self.setWindowFlags(QtCore.Qt.WindowMinimizeButtonHint)#PyQT禁止窗口最大化按鈕和關閉按鈕
          
          self.setWindowTitle(u'表白神器 by Python學習群:125240963') # 僅僅設置窗體標題,不設置位置。
          
          self.setWindowIcon(QIcon('rose.png')) # 調用QIcon構造函數時,我們需要提供要顯示的圖標的路徑(相對或絕對路徑)。同時注意:使用QIcon類型必須導入此模塊from PyQt5.QtGui import QIcon
          
          self.setToolTip(u'Python學習群:125240963獲取源碼')#調用setToolTip()方法,該方法接受富文本格式的參數,css之類。
          
          QtWidgets.QToolTip.setFont(QFont('華文楷體', 10))#設置字體以及字體大小
          
          self.label1 = QtWidgets.QLabel(u'<b>小姐姐,觀察你很久了!</b>', self) # 建立一個標簽
          
          self.label1.move(150, 40) # 使此標簽移動到這個部件(260,40)的位置
          
          self.label1.setFont(QFont("Timers", 20));#設置字體與字體大小
          
          self.label2= QtWidgets.QLabel(u'<b>做我女朋友好不好?</b>', self) # 建立一個標簽
          
          self.label2.move(150, 100) # 使此標簽移動到這個部件(260,100)的位置
          
          self.label2.setFont(QFont("Timers", 20));#設置字體與字體大小
          
          #Qt中提供的調色板QPalette類就是專門用于管理控件的外觀顯示。QPalette類相當于對話框或控件的調色板,管理著控件和窗體的所有顏色。
          
          #每個窗體和控件都包含一個QPalette對象,在顯示時,對其做相應的設置即可
          
          self.window_pale = QtGui.QPalette()#實例化QPalette類
          
          self.window_pale.setBrush(self.backgroundRole(), QtGui.QBrush(QtGui.QPixmap("biu.jpg")))#打開圖片
          
          self.setPalette(self.window_pale)#應用背景色
          
          # setStyleSheet來設置圖形界面的外觀
          
          self.buttonOK = QtWidgets.QPushButton(u'同意',self) # 因為需要增加按鈕,所以我們引入了QPushButton類,該按鈕是QPushButton類的一個實例。構造函數的第一個參數是按鈕的標簽。第二個參數是父窗口小部件。父窗口小部件是示例窗口小部件,它是通過QWidget繼承的
          
          self.buttonOK.setFocusPolicy(QtCore.Qt.NoFocus)#按鈕無焦點
          
          # Qt::TabFocus 0x1 接受Tab鍵焦點
          
          # Qt::ClickFocus 0x2 接受鼠標單擊做焦點
          
          # Qt::StrongFocus TabFocus | ClickFocus | 0x8 接受Tab鍵和鼠標單擊做焦點
          
          # Qt::WheelFocus StrongFocus | 0x4 滑輪作為焦點選中事件
          
          # Qt::NoFocus 0 不接受焦點
          
          self.buttonOK.move(50, 700) # move()方法來指定部件的放置坐標,坐標的頂點就是窗口的左上角
          
          self.buttonOK.clicked.connect(self.showDialogOK)
          
          self.buttonE = QtWidgets.QPushButton(u'考慮考慮',self) # 因為需要增加按鈕,所以我們引入了QPushButton類,該按鈕是QPushButton類的一個實例。構造函數的第一個參數是按鈕的標簽。第二個參數是父窗口小部件。父窗口小部件是示例窗口小部件,它是通過QWidget繼承的
          
          self.buttonE.setFocusPolicy(QtCore.Qt.NoFocus) # 按鈕無焦點
          
          # Qt::TabFocus 0x1 接受Tab鍵焦點
          
          # Qt::ClickFocus 0x2 接受鼠標單擊做焦點
          
          # Qt::StrongFocus TabFocus | ClickFocus | 0x8 接受Tab鍵和鼠標單擊做焦點
          
          # Qt::WheelFocus StrongFocus | 0x4 滑輪作為焦點選中事件
          
          # Qt::NoFocus 0 不接受焦點
          
          self.buttonE.move(330, 700) # move()方法來指定部件的放置坐標,坐標的頂點就是窗口的左上角
          
          self.buttonE.clicked.connect(self.showDialogEE)
          
          self.buttonNO = QtWidgets.QPushButton(u'拒絕',self) # 因為需要增加按鈕,所以我們引入了QPushButton類,該按鈕是QPushButton類的一個實例。構造函數的第一個參數是按鈕的標簽。第二個參數是父窗口小部件。父窗口小部件是示例窗口小部件,它是通過QWidget繼承的
          
          self.buttonNO.setFocusPolicy(QtCore.Qt.NoFocus) # 按鈕無焦點
          
          # Qt::TabFocus 0x1 接受Tab鍵焦點
          
          # Qt::ClickFocus 0x2 接受鼠標單擊做焦點
          
          # Qt::StrongFocus TabFocus | ClickFocus | 0x8 接受Tab鍵和鼠標單擊做焦點
          
          # Qt::WheelFocus StrongFocus | 0x4 滑輪作為焦點選中事件
          
          # Qt::NoFocus 0 不接受焦點
          
          self.buttonNO.move(610, 700) # move()方法來指定部件的放置坐標,坐標的頂點就是窗口的左上角
          
          self.buttonNO.clicked.connect(self.showDialogNO)
          
          def showDialogOK(self):
          
          QtWidgets.QMessageBox.information(self, "歐耶", "愛你,么么么么么么么噠~~~", QtWidgets.QMessageBox.Ok)
          
          self.CloseAllowed = 1
          
          def showDialogEE(self):
          
          QtWidgets.QMessageBox.information(self, "別糾結了", "你完了,你媽讓你嫁給我", QtWidgets.QMessageBox.Ok)
          
          QtWidgets.QMessageBox.information(self, "別糾結了", "你爸也是這么說的", QtWidgets.QMessageBox.Ok)
          
          QtWidgets.QMessageBox.information(self, "別糾結了", "你奶奶也讓你嫁給我", QtWidgets.QMessageBox.Ok)
          
          QtWidgets.QMessageBox.information(self, "別糾結了", "你哥哥也同意了,你全家都同意", QtWidgets.QMessageBox.Ok)
          
          QtWidgets.QMessageBox.information(self, "別糾結了", "你閨蜜說嫁給我沒錯", QtWidgets.QMessageBox.Ok)
          
          QtWidgets.QMessageBox.information(self, "別糾結了", "你爸說不同意就打你", QtWidgets.QMessageBox.Ok)
          
          QtWidgets.QMessageBox.information(self, "別糾結了", "接受現實吧,我會對你好的", QtWidgets.QMessageBox.Ok)
          
          QtWidgets.QMessageBox.information(self, "別糾結了", "你都是我的人了", QtWidgets.QMessageBox.Ok)
          
          def showDialogNO(self):
          
          self.q = random.randint(0, 650) # 在0-650內生成隨機的X坐標
          
          self.w = random.randint(150, 650) # 在150-650內生成隨機的Y坐標
          
          self.buttonNO.move(self.q, self.w)
          
          #enterEvent事件PyQt自動運行,無需調用
          
          # def enterEvent(self,event):#重寫了鼠標的enterEvent事件,由于繼承了窗口類,鼠標一進入主窗口便會出發此函數
          
          # self.q=random.randint(0,650)#在0-650內生成隨機的X坐標
          
          # self.w=random.randint(150,650)#在150-650內生成隨機的Y坐標
          
          # self.buttonNO.move(self.q,self.w)
          
          #當我們關閉一個窗口時,在PyQt中就會觸發一個QCloseEvent的事件,正常情況下會直接關閉這個窗口,
          
          #但是我們不希望這樣的事情發生,所以我們需要重新定義QCloseEvent,函數名稱為closeEvent不可變
          
          def closeEvent(self,event):#函數名固定不可變
          
          if self.CloseAllowed==1:
          
          event.accept()#關閉窗口
          
          else:
          
          QtWidgets.QMessageBox.information(self, "未作回應", "小姐姐,請不要逃避!", QtWidgets.QMessageBox.Ok)
          
          event.ignore()#忽視點擊X事件
          
          def center(self):
          
          screen=QtWidgets.QDesktopWidget().screenGeometry()#獲取屏幕分辨率
          
          #QtWidgets.QDesktopWidget().screenGeometry()中QDesktopWidget()也有括號
          
          size=self.geometry()#獲取窗口尺寸
          
          self.move((screen.width()-size.width())/2,(screen.height()-size.height())/2)#利用move函數窗口居中
          
          app=QtWidgets.QApplication(sys.argv)
          
          window=MessageBox()
          
          window.show()
          
          sys.exit(app.exec_())
          
          想要發給你自己喜歡的人,肯定是需要打包成exe的呀
          
          #!/usr/bin/env python
          
          # -*- coding: utf-8 -*-
          
          """
          
          __title__ = '將calculator項目轉換為exe文件'
          
          __author__ = '遂越凈郝'
          
          """
          
          from PyInstaller.__main__ import run
          
          if __name__ == '__main__':
          
          opts = ['douyin.py', '-w', '--onefile']
          
          #opts = ['douyin.py', '-F']
          
          #opts = ['douyin.py', '-F', '-w']
          
          #opts = ['douyin.py', '-F', '-w', '--icon=TargetOpinionMain.ico','--upx-dir','upx391w']
          
          run(opts)

          感謝您的閱讀,這款七夕表白神器,你覺得怎么樣呢?用python創造驚喜,只有你想不到,沒有做不到!更多python資訊,盡在達內python培訓,敬請關注!

          免責聲明:內容和圖片源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

          預約申請免費試聽課

          填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

          上一篇:掌握六大技巧,讓python編程健步如飛!
          下一篇:python培訓分享:為什么推薦python開發人員使用Pipenv?

          如何運用Python編程處理大數據?用Python編程處理大數據的技巧是什么?

          Python面向對象編程的知識點都在這了!

          Python的高級特征及用法(部分)

          聽說這些Python知識,很少有人知道!

          • 掃碼領取資料

            回復關鍵字:視頻資料

            免費領取 達內課程視頻學習資料

          • 視頻學習QQ群

            添加QQ群:1143617948

            免費領取達內課程視頻學習資料

          Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

          選擇城市和中心
          黑龍江省

          吉林省

          河北省

          湖南省

          貴州省

          云南省

          廣西省

          海南省

          网友自拍 偷拍 校园性爱青青草曰逼视屏老鸭窝国产偷自视频区视频 百度 好搜 搜狗
          <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>