# PyQt中的事件处理主要依赖重写事件处理函数来实现
import sys
from PyQt4 import QtCore, QtGui class MainWindow(QtGui.QWidget): def __init__(self, parent = None):
QtGui.QWidget.__init__(self, parent) self.setWindowTitle('emit')
self.resize(250, 150)
self.connect(self, QtCore.SIGNAL('closeEmitApp'), QtCore.SLOT('close()')) # 重新实现了keyPressEvent()事件
def keyPressEvent(self, event):
if event.key() == QtCore.Qt.Key_Escape: # 当按下Esc键时程序就会结束
self.close() app = QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())
相关文章
- jQuery事件处理程序总是按照它们被绑定的顺序执行——有什么方法吗?(复制)
- jQuery中处理事件冒泡的方法和取消后续内容的方法
- preventDefault() 方法 取消掉与事件关联的默认动作
- EasyUI的datagrid中标签需要点两次才能触发事件的处理方法
- winform listView 单击事件 怎么知道单击哪行那列的处理方法
- 【COCOS2D-X 备注篇】cocos2dx 获取手机截屏等意外取消触屏事件的处理方法!
- ASP.NET - 自定义控件处理页面事件(控件与页面数据交互)的方法
- 在多行列表中id同名的标签点击事件处理方法
- 漫话JavaScript与异步·第三话——Generator:化异步为同步 一、Promise并非完美 我在上一话中介绍了Promise,这种模式增强了事件订阅机制,很好地解决了控制反转带来的信任问题、硬编码回调执行顺序造成的“回调金字塔”问题,无疑大大提高了前端开发体验。但有了Promise就能完美地解决异步问题了吗?并没有。 首先,Promise仍然需要通过then方法注册回调,虽然只有一层,但沿着Promise链一长串写下来,还是有些让人头晕。 更大的问题在于Promise的错误处理比较麻烦,因为Promise链中抛出的错误会一直传到链尾,但在链尾捕获的错误却不一定清楚来源。而且,链中抛出的错误会fail掉后面的整个Promise链,如果要在链中及时捕获并处理错误,就需要给每个Promise注册一个错误处理回调。噢,又是一堆回调! 那么最理想的异步写法是怎样的呢?像同步语句那样直观地按顺序执行,却又不会阻塞主线程,最好还能用try-catch直接捕捉抛出的错误。也就是说,“化异步为同步”!
- PyQt5重写QComboBox的鼠标点击事件方法