#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtGui, QtCore
#目标控件类声明(从QtGui.QWidget继承)
class Escape(QtGui.QWidget):
#初始化
def __init__(self, parent=None):
#初始化控件,并调用父控件的初始化程序
QtGui.QWidget.__init__(self, parent)
#窗口名称设定
self.setWindowTitle('escape')
#初始化控件大小
self.resize(250, 150)
#构建链接(对象,信号,槽)
self.connect(self, QtCore.SIGNAL('closeEmitApp()'), QtCore.SLOT('close()'))
#重载方法keyPressEvent(self,event),即按键按下事件方法
#第一个为self,第二个参数是接受事件
def keyPressEvent(self, event):
#QtCore.Qt.Key_+按键名(Escape=Esc)-->事件值
if event.key() ==QtCore.Qt.Key_Escape:
#发出信号'closeEmitApp()'
self.emit(QtCore.SIGNAL('closeEmitApp()'))
#应用主程序
app = QtGui.QApplication(sys.argv)
#生成控件实例
qb = Escape()
#显示控件实例
qb.show()
#结束程序
sys.exit(app.exec_())