PyQt4关闭窗口

Posted 月光诗人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyQt4关闭窗口相关的知识,希望对你有一定的参考价值。

一个显而易见的关闭窗口的方式是但集标题兰有上角的X标记。接下来的示例展示如何用代码来关闭程序,并简要介绍Qt的信号和槽机制。

下面是QPushButton的构造函数,我们将会在下面的示例中使用它。

QPushButton(String text, QWiget parent = None)

text表示将显示在按钮上的文本。parent是其父对象,用于指定按钮显示在哪个部件中。在我们的示例中,parent是一个QWidget对象。

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

import sys
from PyQt4 import QtGui, QtCore

class QuitButton(QtGui.QWidget):
    def __init__(self, parent = None):
        QtGui.QWidget.__init__(self, parent)
        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle(moonlight poet quit button)
        quit = QtGui.QPushButton(Close, self)
        quit.setGeometry(10, 10, 60, 35)
        self.connect(quit, QtCore.SIGNAL(clicked()), 
                     QtGui.qApp, QtCore.SLOT(quit()))
app = QtGui.QApplication(sys.argv)
qb = QuitButton()
qb.show()
sys.exit(app.exec_())

效果:

技术分享

        quit = QtGui.QPushButton(‘Close‘, self)
        quit.setGeometry(10, 10, 60, 35)

以上两句用来创建一个按钮并将其放在QWidget部件上,就像我们将QWidget部件放在屏幕上一样。

        self.connect(quit, QtCore.SIGNAL(‘clicked()‘), QtGui.qApp, QtCore.SLOT(‘quit()‘))

PyQt4的事件处理系统建立在信号-槽机制之上。如果我们单击quit按钮,那么信号clicked()就会被触发,槽函数可以是PyQt自带的槽函数,也可以是任何Python可以调用的函数等。QtCore.QObject.connect()方法可以将信号和槽函数连接起来。在我们的示例中槽函数是PyQt中已定义的quit()函数。通过connect方法就可以建立发送者(quit按钮)和接受者(应用程序对象)之间的通信。

以上是关于PyQt4关闭窗口的主要内容,如果未能解决你的问题,请参考以下文章

PyQt5——信号和槽初探

Qt基础之四:Qt信号与槽机制原理及优缺点

PyQt4信号与槽

Pyqt4学习笔记-事件和信号

qt中的信号和槽机制

使用pyqt4写GUI小程序时一个clicked信号调用三次槽函数