Python使用Pyqt5简单表白(自娱自乐版)

注意该代码段属于无赖式表白,并不可用于正式表白场合。纯属娱乐,简单演示信号槽。
如果没有安装pyqt5的话,使用如下安装一下。安装的忽略下面命令

pip install PyQt5 -i https://pypi.douban.com/simple

代码如下,从窗口退出只能选择yes同意,或者retry重选。怎么样?无赖吧。代码如下:演示效果也见下图。

import sys
from PyQt5.QtWidgets import QWidget, QMessageBox, QApplication
from PyQt5.QtGui import QPainter, QColor

class Example(QWidget):

    def __init__(self):
        super().__init__()

        self.initUI()


    def initUI(self):

        self.setGeometry(500,360,600,300)   #设置窗口的位置和大小
        self.setWindowTitle('点击关闭选择')  #设置窗口的标题
        self.show()


    def closeEvent(self,event):
        reply = QMessageBox.question(self,'选一个吧',
                                     "喜欢我吗?",QMessageBox.Yes|
                                     QMessageBox.Retry, QMessageBox.Yes)
        if reply == QMessageBox.Yes:
            event.accept()
        else:
            event.ignore()

    def paintEvent(self, e):
            qp = QPainter()
            qp.begin(self)
            self.drawRectangles(qp)
            qp.end()


    def drawRectangles(self, qp):
        col = QColor(0, 0, 0)
        col.setNamedColor('#d4d4d4')
        qp.setPen(col)

        qp.setBrush(QColor(255, 150, 100))
        qp.drawRect(0, 0, 600,300)


if __name__ == "__main__":

    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

在这里插入图片描述
点击关闭后出现
在这里插入图片描述

选择Yes是,触发事件 event.accept(),关闭widget窗口并终止应用程序的动作会被允许执行。
如果没有选Yes,比如选择Retry重试,则关闭窗口的动作会被忽略。继续跳回主页面。
即只有选择yes才能从界面关闭程序。
怎么样,无赖吧。纯属娱乐,不建议使用。

猜你喜欢

转载自blog.csdn.net/qq_45701131/article/details/112209974