我喜歡你 抖音表白程序python版
本文實(shí)例為大家分享了python抖音表白神器,供大家參考,具體內(nèi)容如下
# -*- coding: utf-8 -*- import sys from PyQt5 import QtWidgets from PyQt5.QtGui import QFont,QIcon#QtWidgets不包含QFont必須調(diào)用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)#因?yàn)槔^承關(guān)系,要對父類初始化 #通過super初始化父類,__init__()函數(shù)無self,若直接QtWidgets.QWidget.__init__(self),括號里是有self的 self.setGeometry(300, 300, 800,800) # setGeometry()方法完成兩個(gè)功能--設(shè)置窗口在屏幕上的位置和設(shè)置窗口本身的大小。它的前兩個(gè)參數(shù)是窗口在屏幕上的x和y坐標(biāo)。后兩個(gè)參數(shù)是窗口本身的寬和高 #self.resize(1000, 500) # 設(shè)置窗體大小,本行可有可無。 self.center()#自定義一個(gè)居中的函數(shù) self.setFixedSize(self.width(),self.height());#PyQT禁止調(diào)整窗口大小和窗口最大化按鈕 #self.setWindowFlags(QtCore.Qt.WindowMinimizeButtonHint)#PyQT禁止窗口最大化按鈕和關(guān)閉按鈕 self.setWindowTitle(u'表白神器-powered by 遂越凈郝') # 僅僅設(shè)置窗體標(biāo)題,不設(shè)置位置。 self.setWindowIcon(QIcon('rose.png')) # 調(diào)用QIcon構(gòu)造函數(shù)時(shí),我們需要提供要顯示的圖標(biāo)的路徑(相對或絕對路徑)。同時(shí)注意:使用QIcon類型必須導(dǎo)入此模塊from PyQt5.QtGui import QIcon self.setToolTip(u'知乎搜索<b>遂越凈郝</b>獲取源碼')#調(diào)用setToolTip()方法,該方法接受富文本格式的參數(shù),css之類。 QtWidgets.QToolTip.setFont(QFont('華文楷體', 10))#設(shè)置字體以及字體大小 self.label1 = QtWidgets.QLabel(u'<b>小姐姐,觀察你很久了!</b>', self) # 建立一個(gè)標(biāo)簽 self.label1.move(150, 40) # 使此標(biāo)簽移動到這個(gè)部件(260,40)的位置 self.label1.setFont(QFont("Timers", 20));#設(shè)置字體與字體大小 self.label2= QtWidgets.QLabel(u'<b>做我女朋友好不好?</b>', self) # 建立一個(gè)標(biāo)簽 self.label2.move(150, 100) # 使此標(biāo)簽移動到這個(gè)部件(260,100)的位置 self.label2.setFont(QFont("Timers", 20));#設(shè)置字體與字體大小 #Qt中提供的調(diào)色板QPalette類就是專門用于管理控件的外觀顯示。QPalette類相當(dāng)于對話框或控件的調(diào)色板,管理著控件和窗體的所有顏色。 #每個(gè)窗體和控件都包含一個(gè)QPalette對象,在顯示時(shí),對其做相應(yīng)的設(shè)置即可 self.window_pale = QtGui.QPalette()#實(shí)例化QPalette類 self.window_pale.setBrush(self.backgroundRole(), QtGui.QBrush(QtGui.QPixmap("biu.jpg")))#打開圖片 self.setPalette(self.window_pale)#應(yīng)用背景色 # setStyleSheet來設(shè)置圖形界面的外觀 self.buttonOK = QtWidgets.QPushButton(u'同意',self) # 因?yàn)樾枰黾影粹o,所以我們引入了QPushButton類,該按鈕是QPushButton類的一個(gè)實(shí)例。構(gòu)造函數(shù)的第一個(gè)參數(shù)是按鈕的標(biāo)簽。第二個(gè)參數(shù)是父窗口小部件。父窗口小部件是示例窗口小部件,它是通過QWidget繼承的 self.buttonOK.setFocusPolicy(QtCore.Qt.NoFocus)#按鈕無焦點(diǎn) # Qt::TabFocus 0x1 接受Tab鍵焦點(diǎn) # Qt::ClickFocus 0x2 接受鼠標(biāo)單擊做焦點(diǎn) # Qt::StrongFocus TabFocus | ClickFocus | 0x8 接受Tab鍵和鼠標(biāo)單擊做焦點(diǎn) # Qt::WheelFocus StrongFocus | 0x4 滑輪作為焦點(diǎn)選中事件 # Qt::NoFocus 0 不接受焦點(diǎn) self.buttonOK.move(50, 700) # move()方法來指定部件的放置坐標(biāo),坐標(biāo)的頂點(diǎn)就是窗口的左上角 self.buttonOK.clicked.connect(self.showDialogOK) self.buttonE = QtWidgets.QPushButton(u'考慮考慮',self) # 因?yàn)樾枰黾影粹o,所以我們引入了QPushButton類,該按鈕是QPushButton類的一個(gè)實(shí)例。構(gòu)造函數(shù)的第一個(gè)參數(shù)是按鈕的標(biāo)簽。第二個(gè)參數(shù)是父窗口小部件。父窗口小部件是示例窗口小部件,它是通過QWidget繼承的 self.buttonE.setFocusPolicy(QtCore.Qt.NoFocus) # 按鈕無焦點(diǎn) # Qt::TabFocus 0x1 接受Tab鍵焦點(diǎn) # Qt::ClickFocus 0x2 接受鼠標(biāo)單擊做焦點(diǎn) # Qt::StrongFocus TabFocus | ClickFocus | 0x8 接受Tab鍵和鼠標(biāo)單擊做焦點(diǎn) # Qt::WheelFocus StrongFocus | 0x4 滑輪作為焦點(diǎn)選中事件 # Qt::NoFocus 0 不接受焦點(diǎn) self.buttonE.move(330, 700) # move()方法來指定部件的放置坐標(biāo),坐標(biāo)的頂點(diǎn)就是窗口的左上角 self.buttonE.clicked.connect(self.showDialogEE) self.buttonNO = QtWidgets.QPushButton(u'拒絕',self) # 因?yàn)樾枰黾影粹o,所以我們引入了QPushButton類,該按鈕是QPushButton類的一個(gè)實(shí)例。構(gòu)造函數(shù)的第一個(gè)參數(shù)是按鈕的標(biāo)簽。第二個(gè)參數(shù)是父窗口小部件。父窗口小部件是示例窗口小部件,它是通過QWidget繼承的 self.buttonNO.setFocusPolicy(QtCore.Qt.NoFocus) # 按鈕無焦點(diǎn) # Qt::TabFocus 0x1 接受Tab鍵焦點(diǎn) # Qt::ClickFocus 0x2 接受鼠標(biāo)單擊做焦點(diǎn) # Qt::StrongFocus TabFocus | ClickFocus | 0x8 接受Tab鍵和鼠標(biāo)單擊做焦點(diǎn) # Qt::WheelFocus StrongFocus | 0x4 滑輪作為焦點(diǎn)選中事件 # Qt::NoFocus 0 不接受焦點(diǎn) self.buttonNO.move(610, 700) # move()方法來指定部件的放置坐標(biāo),坐標(biāo)的頂點(diǎn)就是窗口的左上角 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, "別糾結(jié)了", "你完了,你媽讓你嫁給我", QtWidgets.QMessageBox.Ok) QtWidgets.QMessageBox.information(self, "別糾結(jié)了", "你爸也是這么說的", QtWidgets.QMessageBox.Ok) QtWidgets.QMessageBox.information(self, "別糾結(jié)了", "你奶奶也讓你嫁給我", QtWidgets.QMessageBox.Ok) QtWidgets.QMessageBox.information(self, "別糾結(jié)了", "你哥哥也同意了,你全家都同意", QtWidgets.QMessageBox.Ok) QtWidgets.QMessageBox.information(self, "別糾結(jié)了", "你閨蜜說嫁給我沒錯(cuò)", QtWidgets.QMessageBox.Ok) QtWidgets.QMessageBox.information(self, "別糾結(jié)了", "你爸說不同意就打你", QtWidgets.QMessageBox.Ok) QtWidgets.QMessageBox.information(self, "別糾結(jié)了", "接受現(xiàn)實(shí)吧,我會對你好的", QtWidgets.QMessageBox.Ok) QtWidgets.QMessageBox.information(self, "別糾結(jié)了", "你都是我的人了", QtWidgets.QMessageBox.Ok) def showDialogNO(self): self.q = random.randint(0, 650) # 在0-650內(nèi)生成隨機(jī)的X坐標(biāo) self.w = random.randint(150, 650) # 在150-650內(nèi)生成隨機(jī)的Y坐標(biāo) self.buttonNO.move(self.q, self.w) #enterEvent事件PyQt自動運(yùn)行,無需調(diào)用 # def enterEvent(self,event):#重寫了鼠標(biāo)的enterEvent事件,由于繼承了窗口類,鼠標(biāo)一進(jìn)入主窗口便會出發(fā)此函數(shù) # self.q=random.randint(0,650)#在0-650內(nèi)生成隨機(jī)的X坐標(biāo) # self.w=random.randint(150,650)#在150-650內(nèi)生成隨機(jī)的Y坐標(biāo) # self.buttonNO.move(self.q,self.w) #當(dāng)我們關(guān)閉一個(gè)窗口時(shí),在PyQt中就會觸發(fā)一個(gè)QCloseEvent的事件,正常情況下會直接關(guān)閉這個(gè)窗口, #但是我們不希望這樣的事情發(fā)生,所以我們需要重新定義QCloseEvent,函數(shù)名稱為closeEvent不可變 def closeEvent(self,event):#函數(shù)名固定不可變 if self.CloseAllowed==1: event.accept()#關(guān)閉窗口 else: QtWidgets.QMessageBox.information(self, "未作回應(yīng)", "小姐姐,請不要逃避!", QtWidgets.QMessageBox.Ok) event.ignore()#忽視點(diǎn)擊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函數(shù)窗口居中 app=QtWidgets.QApplication(sys.argv) window=MessageBox() window.show() sys.exit(app.exec_())
生成exe
#!/usr/bin/env python # -*- coding: utf-8 -*- """ __title__ = '將calculator項(xiàng)目轉(zhuǎn)換為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)
運(yùn)行結(jié)果請閱讀原文。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python PyCharm如何進(jìn)行斷點(diǎn)調(diào)試
這篇文章主要介紹了Python PyCharm如何進(jìn)行斷點(diǎn)調(diào)試,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07jupyter notebook 恢復(fù)誤刪單元格或者歷史代碼的實(shí)現(xiàn)
這篇文章主要介紹了jupyter notebook 恢復(fù)誤刪單元格或者歷史代碼的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04Python爬蟲實(shí)現(xiàn)Cookie模擬登錄
這篇文章主要介紹了Python爬蟲實(shí)現(xiàn)Cookie模擬登錄,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11python使用gdal對shp讀取,新建和更新的實(shí)例
這篇文章主要介紹了python使用gdal對shp讀取,新建和更新的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03Python開發(fā)生產(chǎn)環(huán)境常用的4個(gè)工具(實(shí)用推薦)
構(gòu)建優(yōu)秀的軟件需要遵循特定的規(guī)則并執(zhí)行行業(yè)標(biāo)準(zhǔn),如何在真實(shí)的生產(chǎn)環(huán)境開發(fā)中體現(xiàn)呢?在這篇文章中,我將向您展示我在Python項(xiàng)目中設(shè)置的4種工具,以簡化開發(fā)工作流程并執(zhí)行一些最佳實(shí)踐,這些工具幫助我提高了效率,節(jié)省了時(shí)間,希望你讀完也能有所收獲2024-01-01Python數(shù)據(jù)分析之真實(shí)IP請求Pandas詳解
這篇文章主要給大家介紹了Python數(shù)據(jù)分析之真實(shí)IP請求Pandas,文中通過示例嗲嗎給大家介紹的很詳細(xì),相信對大家的學(xué)習(xí)或者理解具有一定的參考借鑒價(jià)值,有需要的朋友們可以參考借鑒,下面來一起學(xué)習(xí)學(xué)習(xí)吧。2016-11-11