我喜欢你 抖音表白程序python版


Posted in Python onApril 07, 2019

本文实例为大家分享了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'表白神器-powered by 遂越净郝') # 仅仅设置窗体标题,不设置位置。
  self.setWindowIcon(QIcon('rose.png')) # 调用QIcon构造函数时,我们需要提供要显示的图标的路径(相对或绝对路径)。同时注意:使用QIcon类型必须导入此模块from PyQt5.QtGui import QIcon
  self.setToolTip(u'知乎搜索<b>遂越净郝</b>获取源码')#调用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模拟登录12306的方法
Dec 30 Python
Python2.x中str与unicode相关问题的解决方法
Mar 30 Python
实例解析Python中的__new__特殊方法
Jun 02 Python
一张图带我们入门Python基础教程
Feb 05 Python
Python探索之修改Python搜索路径
Oct 25 Python
python使用PyQt5的简单方法
Feb 27 Python
简单了解pytest测试框架setup和tearDown
Apr 14 Python
使用OpenCV对车道进行实时检测的实现示例代码
Jun 19 Python
详解Anaconda安装tensorflow报错问题解决方法
Nov 01 Python
如何基于Python pygame实现动画跑马灯
Nov 18 Python
python实现代码审查自动回复消息
Feb 01 Python
Python3.8官网文档之类的基础语法阅读
Sep 04 Python
详解python爬虫系列之初识爬虫
Apr 06 #Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
Apr 06 #Python
python基础梳理(一)(推荐)
Apr 06 #Python
详解python持久化文件读写
Apr 06 #Python
python七夕浪漫表白源码
Apr 05 #Python
python浪漫表白源码
Apr 05 #Python
Python HTML解析器BeautifulSoup用法实例详解【爬虫解析器】
Apr 05 #Python
You might like
php实现ping
2006/10/09 PHP
php使用function_exists判断函数可用的方法
2014/11/19 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
2017/10/12 PHP
一些不错的js函数ajax
2008/08/20 Javascript
JavaScript 继承机制的实现(待续)
2010/05/18 Javascript
javascript 异步页面查询实现代码(asp.net)
2010/05/26 Javascript
浏览器兼容console对象的简要解决方案分享
2013/10/24 Javascript
jQuery中获取checkbox选中项等操作及注意事项
2013/11/24 Javascript
js 弹出框只弹一次(二次修改之后的)
2013/11/26 Javascript
基于jQuery实现文本框缩放以及上下移动功能
2014/11/24 Javascript
JavaScript编写页面半透明遮罩效果的简单示例
2016/05/09 Javascript
Bootstrap源码解读标签、徽章、缩略图和警示框(8)
2016/12/26 Javascript
基于Vue自定义指令实现按钮级权限控制思路详解
2018/05/23 Javascript
vue-router路由模式详解(小结)
2019/08/26 Javascript
Vue自定义表单内容检查rules实例
2020/10/30 Javascript
vue添加自定义右键菜单的完整实例
2020/12/08 Vue.js
python僵尸进程产生的原因
2017/07/21 Python
Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
2018/07/19 Python
pytorch中tensor的合并与截取方法
2018/07/26 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
Pandas-Cookbook 时间戳处理方式
2019/12/07 Python
Pytorch 之修改Tensor部分值方式
2019/12/27 Python
H5 canvas中width、height和style的宽高区别详解
2018/11/02 HTML / CSS
html5开发之viewport使用
2013/10/17 HTML / CSS
是什么让J2EE适合用来开发多层的分布式的应用
2015/01/16 面试题
vue+django实现下载文件的示例
2021/03/24 Vue.js
咖啡店的创业计划书,让你hold不住
2014/01/03 职场文书
小学生安全保证书
2014/02/01 职场文书
服装创业计划书范文
2014/02/05 职场文书
班干部竞选演讲稿
2014/04/24 职场文书
团支部建设方案
2014/05/02 职场文书
世博会口号
2014/06/20 职场文书
大学生英文求职信范文
2015/03/19 职场文书
2015年电信员工工作总结
2015/05/26 职场文书
十月围城观后感
2015/06/08 职场文书
2019年12月24日平安夜祝福语集锦
2019/12/24 职场文书