PyQt5:关闭窗口(4)

原创 2016年06月01日 00:02:47

学习《PyQt4入门指南 PDF中文版.pdf 》笔记

          一个显而易见的关闭窗口的方式是单击标题栏右上角的X标记。在接下来的示例中,我们将展示如何用代码来关闭程序,并简要介绍Qt的信号和槽机制。

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

         QPushButton(constQString text, QWidget parent = None)

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

#!/usr/bin/python
# quitbutton.py

from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QPushButton

class QuitButton(QtWidgets.QWidget):
    def __init__(self,  parent = None):
        QtWidgets.QWidget.__init__(self,  parent)
        
        self.setGeometry(300,  300,  250,  150)
        self.setWindowTitle('quitButton')
        quit = QPushButton('Close',  self)
        quit.setGeometry(10,  10,  60,  35)
        
        quit.clicked.connect(self.close)
        
if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv) 
    quitButton = QuitButton()
    quitButton.show()
    sys.exit(app.exec_())

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

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

         quit.clicked.connect(self.close)

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




版权声明:本文为博主原创文章,未经博主允许不得转载。

PyQt5教程-04-关闭窗口

最简单的关闭一个窗口的方法是点击标题栏上的 x 标志。但是,在下面的例子中,我们将展示如何通过编程来控制关闭窗口。我们将使用PyQt5的信号/槽。以下是我们在例子中使用到的 QPushButton 控...
  • weiaitaowang
  • weiaitaowang
  • 2016年07月30日 10:40
  • 4085

pyQt不同窗体间的值传递(一)——对话框关闭时返回值给主窗口

在写pyQt时,经常会遇到输入或选择多个参数的问题,把它写到一个窗体中,会显得主窗体很臃肿。所以一般是添加一个按钮,调用对话框,将这些参数选择放入弹出的对话框中,关闭对话框时将参数值返回给主窗体。 ...
  • shawpan
  • shawpan
  • 2015年07月15日 20:36
  • 5056

关于pyqt4关闭窗口报错的解决方法

最近在用pyQt4开发应用界面,开发完毕后每次点窗体左上角的X关闭窗体都会显示烦人的如下报错信息,解决方法如下: 重写窗体关闭事件,即可解决。 def closeEvent(s...
  • jackhuang2015
  • jackhuang2015
  • 2017年02月13日 21:24
  • 741

PyQt5退出按钮

import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton from PyQt5.QtCore import Q...
  • u013511642
  • u013511642
  • 2015年04月28日 20:58
  • 2844

PyQt5(4)——控件事件响应与信号槽

事件(Events)是 GUI 程序中很重要的一部分,它由用户操作或系统产生。当我们调用程序的 exec_()方法时,程序就会进入主循环中。主循环捕获事件并将它们发送给相应的对象进行处理。 为此,Qt...
  • xmnathan
  • xmnathan
  • 2016年03月29日 15:08
  • 4097

pyqt弹出新对话框,以及关闭对话框获取数据

from PyQt4 import QtGui,QtCore import sys class Web_Browser(QtGui.QDialog): def __init__(self,pa...
  • a6225301
  • a6225301
  • 2015年01月30日 20:41
  • 7256

PyQT之多窗口切换

最近做个软件,用PyQT写的,在实现菜单栏点击弹出新窗口的时候严重被卡壳,发现用WxPython的思想和方式来做完全无法实现。PyQT的中文资料实在是太少了。看了点英文资料和QT的资料,逆推PyQT的...
  • sollor525
  • sollor525
  • 2014年10月14日 14:45
  • 7199

PyQt5初级教程--PyQt5中的事件和信号[6/13]

想用PyQt5写GUI,但是网上的PyQt5资源太少了,找到一个英文的,翻译一下,和学习PyQt5的同学共勉! (本系列中所有代码在windows7 64位[]/Python 3.4.3 32bit...
  • neverstop_2009
  • neverstop_2009
  • 2015年08月08日 19:29
  • 4084

主界面调用子窗口后,子窗口关闭后主界面不消失

做数据库实验的时候,遇到了这个问题,用的netbeans拖拉形成的窗口,在主界面打开一个子窗口后,关闭子窗口后,主界面仍在,这个涉及到JFrame的 frame.setDefaultCloseO...
  • u012493828
  • u012493828
  • 2015年05月28日 09:10
  • 580

pyqt父子窗口相互传值

  • 2015年05月30日 22:16
  • 3KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PyQt5:关闭窗口(4)
举报原因:
原因补充:

(最多只允许输入30个字)