【一款弹窗表白的pyqt5界面化小程序,完全零基础的你也可以用他追女生了】

 前言

学了这么久编程——女神追到手了吗?!

 今天小编现学现教,用Python来实现某音软件上爆火的表白小程序,让女神没有拒绝的机会!

正文

 Show Time

Nov  1)背景环境

本文是基于Pyqt5做的界面化的一个表白程序。

Qt库里面有非常强大的图形界面开发库,但是Qt库是C++语言开发的,PyQt5可以让我们通过Python语言使用Qt。

好的,简介就了解这么多,够了,哈哈哈哈。。。我们直接上案例给大家看叭!

需要的环境:Python3.7、Pycharm2020、Pyqt5。

第三方模块安装命令:pip install PyQt5

温馨提示: 如果上面的命令安装报错超时,可以使用国内镜像源安装即可,安装速度更快,不容易报错。(直接csdn里面搜索国内常用镜像源即可找到)

背景的图片界面+图标,需要什么背景自己修改即可。

Nov  2)界面的定义设置

表白神器的标题、字体大小、文字的设置如下:

class MessageBox(QtWidgets.QWidget):
    CloseAllowed=0
    def __init__(self,parent = None):
        QtWidgets.QWidget.__init__(self)

        self.setGeometry(300, 300, 800,800)  
        #self.resize(1000, 500) 
        self.center()#自定义一个居中的函数
        self.setFixedSize(self.width(),self.height());
        #self.setWindowFlags(QtCore.Qt.WindowMinimizeButtonHint)
        self.setWindowTitle(u'表白神器 ')  # 仅仅设置窗体标题,不设置位置。
        self.setWindowIcon(QIcon(u'rose.png')) 
        self.setToolTip(u'桃子')
        QtWidgets.QToolTip.setFont(QFont('华文楷体', 10))#设置字体以及字体大小
        self.label1 = QtWidgets.QLabel(u'小姐姐,观察你很久了!', self)  # 建立一个标签
        self.label1.move(150, 40)  # 使此标签移动到这个部件(260,40)的位置
        self.label1.setFont(QFont("Timers", 20));#设置字体与字体大小
        self.label2= QtWidgets.QLabel(u'做我女朋友好不好?', self)  # 建立一个标签
        self.label2.move(150, 100)  # 使此标签移动到这个部件(260,100)的位置
        self.label2.setFont(QFont("Timers", 20));#设置字体与字体大小

       
        self.window_pale = QtGui.QPalette()#实例化QPalette类
        self.window_pale.setBrush(self.backgroundRole(), QtGui.QBrush(QtGui.QPixmap("biu.jpg")))#打开图片
        self.setPalette(self.window_pale)#应用背景色
        # setStyleSheet来设置图形界面的外观

Nov  3) 设置三个不同的按钮

弹窗设计让界面更加生动有趣:同意、拒绝、考虑,三个弹窗分别有不同设置的文字,可随意修改自己喜欢的即可。

        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)

Nov  4) 考虑按钮的设置

    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)

Nov  5) ​效果如下

(1)代码运行界面——

(2)按考虑考虑按钮——会弹出各种语句如下。

(3)按拒绝按钮——按钮会随机出现在程序界面各个地方,关闭不了程序!

(4)最后就是点击同意按钮啦——

小结

隐藏技能——被慧眼识珠的小伙伴儿发现——并迅速投入到社会——发光发热!

这波表白技能你get到了嘛?

既然相遇是命中注定,那成对象就自有天意!横批:孩子认命吧!

这款表白神器 希望大家都喜欢,哈哈哈~有对象的修改下文字发给对象互动一下, 没有对象的拿

去发给喜欢的人叭!

粉丝交流

欢迎转载、收藏、有所收获点赞支持一下!

源码点这里获取即可!

你可能感兴趣的:(Python,程序员,python,爬虫,开发语言)