我喜欢你 抖音表白程序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编码时应该注意的几个情况
Mar 04 Python
Python中列表(list)操作方法汇总
Aug 18 Python
Python正则表达式使用范例分享
Dec 04 Python
Python标准库06之子进程 (subprocess包) 详解
Dec 07 Python
python @property的用法及含义全面解析
Feb 01 Python
Python基于jieba库进行简单分词及词云功能实现方法
Jun 16 Python
python实现自动解数独小程序
Jan 21 Python
pytorch动态网络以及权重共享实例
Jan 06 Python
python函数调用,循环,列表复制实例
May 03 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
Jun 04 Python
Python pathlib模块使用方法及实例解析
Oct 05 Python
python基于selenium爬取斗鱼弹幕
Feb 20 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+MYSQL会员系统的登陆即权限判断实现代码
2011/09/23 PHP
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
2017/04/01 PHP
jquery cookie插件代码类
2009/05/26 Javascript
Jquery 高亮显示文本中重要的关键字
2009/12/24 Javascript
JavaScript 学习技巧
2010/02/17 Javascript
Json对象替换字符串占位符实现代码
2010/11/17 Javascript
jquery $(document).ready()和window.onload的区别浅析
2015/02/04 Javascript
jQuery实现二级下拉菜单效果
2016/01/05 Javascript
JS在onclientclick里如何控制onclick的执行
2016/05/30 Javascript
js addDqmForPP给标签内属性值加上双引号的函数
2016/12/24 Javascript
Vue2.0实现将页面中表格数据导出excel的实例
2017/08/09 Javascript
Vue.js devtool插件安装后无法使用的解决办法
2017/11/27 Javascript
JS获取input[file]的值并显示在页面的实现方法
2018/03/09 Javascript
更改BootStrap popover的默认样式及popover简单用法
2018/09/13 Javascript
Vue项目中使用jquery的简单方法
2019/05/16 jQuery
微信小程序实现弹出菜单动画
2019/06/21 Javascript
基于vue-draggable 实现三级拖动排序效果
2020/01/10 Javascript
python使用正则表达式分析网页中的图片并进行替换的方法
2015/03/26 Python
Python中使用tarfile压缩、解压tar归档文件示例
2015/04/05 Python
Python同时向控制台和文件输出日志logging的方法
2015/05/26 Python
解决python xlrd无法读取excel文件的问题
2018/12/25 Python
Python通过Manager方式实现多个无关联进程共享数据的实现
2019/11/07 Python
python中的split()函数和os.path.split()函数使用详解
2019/12/21 Python
django实现模型字段动态choice的操作
2020/04/01 Python
Python带参数的装饰器运行原理解析
2020/06/09 Python
ZWILLING双立人英国网上商店:德国刀具锅具厨具品牌
2018/05/15 全球购物
Booking.com缤客中国:全球酒店在线预订网站
2020/05/03 全球购物
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
2014/01/13 面试题
电信专业应届生自荐信
2013/09/28 职场文书
关于安全的演讲稿
2014/05/09 职场文书
2014年初一班主任工作总结
2014/11/08 职场文书
青年文明号汇报材料
2014/12/23 职场文书
义诊活动总结
2015/02/04 职场文书
纪律委员竞选稿
2015/11/19 职场文书
Vue Element UI自定义描述列表组件
2021/05/18 Vue.js
MySQL里面的子查询的基本使用
2021/08/02 MySQL