PyQt5 之关闭窗口

关闭一个窗口最直观的方式就是点击标题栏的那个叉,也可以使用程序关闭一个窗口。涉及到singleslots知识。
QPushButton 组件类:

QPushButton(string text, QWidget parent = None)

text 参数是想要显示的按钮名称,parent 参数是放在按钮上的组件,这里这个参数是 QWidget。应用中的组件都是一层一层(继承而来的?)的,在这个层里,大部分的组件都有自己的父级,没有父级的组件,是顶级的窗口。

#!/usr/bin/python3
# -*- coding: utf-8 -*-

import sys
from PyQt5.QtWidgets import QWidget, QPushButton, QApplication
# 程序需要`QtCore`对象
from PyQt5.QtCore import QCoreApplication


class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        # 创建一个继承自 QPushButton 的按钮。第一个参数是按钮的文本,第二个参数是按钮的父级组件,这里,父级组件就是我们创建的继承自 Qwidget 的 Example 类
        qbtn = QPushButton('Quit', self)
        # 事件传递系统在 PyQt5 内建的 single 和 slot 机制里面。点击按钮之后,信号会被捕捉并给出既定的反应。QCoreApplication 包含了事件的主循环,它能添加和删除所有的事件,instance() 创建了一个它的实例。QCoreApplication 是在 QApplication 里创建的。点击事件和能终止进程并退出应用的 quit 函数绑定在了一起。在发送者和接受者之间建立了通讯,发送者就是按钮,接受者就是应用对象
        qbtn.clicked.connect(QCoreApplication.instance().quit)
        qbtn.resize(qbtn.sizeHint())
        qbtn.move(50, 50)

        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('Quit button')
        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
本作品采用《CC 协议》,转载必须注明作者和本文链接
不要试图用百米冲刺的方法完成马拉松比赛。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!