Tengo problemas para entender cómo funciona el método keyPressEvent en este programa. Específicamente, ¿qué es "e" aquí? ¿KeyPressEvent es un método redefinido que utiliza una instancia "e" preexistente?¿Cómo funciona el método keyPressEvent en este programa?
import sys
from PyQt4 import QtGui, QtCore
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
self.setGeometry(300,300,250,150)
self.setWindowTitle('Event handler')
self.show()
def keyPressEvent(self, e):
if e.key() == QtCore.Qt.Key_Escape:
self.close()
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
No estoy muy familiarizado con los controladores de eventos, pero supongo que la clave() se define en Qt? Luego, cuando se presiona una tecla, pasa a esta función. ¡Gracias por la ayuda! – Ci3
.key() es un método definido en el objeto de evento apropiado (probablemente KeyPressEvent, o algo similar) que devuelve un código para la clave que se presionó para generar el evento. – FrankieTheKneeMan