【Python小程序】这竟是2月14号情人节表白神器、成功率100%?(进来康康)
生活随笔
收集整理的這篇文章主要介紹了
【Python小程序】这竟是2月14号情人节表白神器、成功率100%?(进来康康)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前言
🚀 作者 :“程序員梨子”
🚀 **文章簡介 **:本篇文章主要制作一款情人節(jié)表白小程序啦。
🚀 **文章源碼獲取 **: 為了感謝每一個(gè)關(guān)注我的小可愛💓每篇文章的項(xiàng)目源碼都是無償分
享滴💓👇👇👇👇
點(diǎn)這里藍(lán)色這行字體自取,需要什么源碼記得說標(biāo)題名字哈!私信我也可!
🚀 歡迎小伙伴們 點(diǎn)贊👍、收藏?、留言💬
正文
?
是不是有了喜歡的人,卻不知道要怎么表白?這款小程序可以幫到你👇
只需簡單輸入文字,即可自動(dòng)生成一個(gè)表白頁面,然后發(fā)給Ta啦~
1)效果展示
?
這個(gè)小工具你喜歡嘛?喜歡就找我拿撒!真的超好看,還可以自己做不一樣的啦
2)附帶額外的小程序源碼
# -*- 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 randomclass MessageBox(QtWidgets.QWidget):#繼承自父類QtWidgets.QWidgetCloseAllowed=0def __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'表白神器 ') # 僅僅設(shè)置窗體標(biāo)題,不設(shè)置位置。self.setWindowIcon(QIcon(u'rose.png')) # 調(diào)用QIcon構(gòu)造函數(shù)時(shí),我們需要提供要顯示的圖標(biāo)的路徑(相對或絕對路徑)。同時(shí)注意:使用QIcon類型必須導(dǎo)入此模塊from PyQt5.QtGui import QIconself.setToolTip(u'顧木子')#調(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)簽移動(dòng)到這個(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)簽移動(dòng)到這個(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.png")))#打開圖片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 = 1def 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í)吧,我會(huì)對你好的", 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自動(dòng)運(yùn)行,無需調(diào)用# def enterEvent(self,event):#重寫了鼠標(biāo)的enterEvent事件,由于繼承了窗口類,鼠標(biāo)一進(jìn)入主窗口便會(huì)出發(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中就會(huì)觸發(fā)一個(gè)QCloseEvent的事件,正常情況下會(huì)直接關(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)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_())這是一款類似的界面化小程序,也是表白的啦~效果就不展示了哈!
?
總結(jié)
把做好的頁面發(fā)給Ta,哪怕不同意就說是個(gè)娛樂工具玩玩,避免尷尬!哈哈哈
說不定就成功了~祝大家都表白成功,情人節(jié)快樂吖~
注小編獲取更多精彩內(nèi)容!記得點(diǎn)擊傳送門哈👇
記得三連哦! 如需打包好的源碼+素材免費(fèi)分享滴!!傳送門
總結(jié)
以上是生活随笔為你收集整理的【Python小程序】这竟是2月14号情人节表白神器、成功率100%?(进来康康)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【AI出牌器】第一次见这么“刺激”的斗地
- 下一篇: 【颜值检测神器】来,请拿出你们的绝活(这