学习《PyQt4入门指南 PDF中文版.pdf 》笔记
PyQt中的事件处理主要依赖重写事件处理函数。
<span style="font-size:14px;">#!/usr/bin/python
# escape.py
from PyQt5.QtWidgets import QApplication
from PyQt5 import QtWidgets
from PyQt5.QtCore import Qt
class Escape(QtWidgets.QWidget):
def __init__(self, parent= None):
QtWidgets.QWidget.__init__(self)
self.setWindowTitle('escape')
self.resize(350, 300)
def keyPressEvent(self, event):
if event.key() == Qt.Key_Escape:
self.close()
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
qb = Escape()
qb.show()
sys.exit(app.exec_())</span>
在上面示例中,我们重新实现了KeyPressEvent()事件处理方法。
def keyPressEvent(self, event):
if event.key() == Qt.Key_Escape:
self.close()
通过上面的方法,当我们按下ESC键时程序就会结束。