# -*- coding:utf-8 -*-
'''
Created on Sep 14, 2018 @author: SaShuangYiBing Comment: This example is show how to triggered the customize signal.
创建了一个名为closeApp的信号。这个信号会在按下鼠标时触发,它连接着QMainWindow的close()插槽
'''
import sys
from PyQt5.QtCore import pyqtSignal,QObject
from PyQt5.QtWidgets import QApplication,QMainWindow class Communicate(QObject):
closeApp = pyqtSignal() # 信号closeApp是Communicate的类属性,它由pyqtSignal()创建。 class New_test(QMainWindow):
def __init__(self):
super().__init__()
self.initUI() def initUI(self):
self.c = Communicate()
self.c.closeApp.connect(self.close) # 自定义closeApp信号连接到QMainWindow的close槽 self.setGeometry(300,300,250,150)
self.setWindowTitle('Emit Signal')
self.show() def mousePressEvent(self,event):
self.c.closeApp.emit() # 当在窗体上点击鼠标时会触发closeApp信号,使程序退出 if __name__ == '__main__':
app = QApplication(sys.argv)
ex = New_test()
sys.exit(app.exec_())
当程序运行后,在窗口中点击鼠标键时该窗口就会自动退出