Ho difficoltà a capire come funziona il metodo keyPressEvent in questo programma. In particolare, cos'è "e" qui? KeyPressEvent è un metodo ridefinito che utilizza un'istanza "e" preesistente?Come funziona il metodo keyPressEvent in questo programma?
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()
Non ho molta familiarità con i gestori di eventi, ma suppongo che la chiave() sia definita in Qt? Quindi, quando viene premuto un tasto, passa a questa funzione. Grazie per l'aiuto! – Ci3
.key() è un metodo definito nell'oggetto Event appropriato (probabilmente KeyPressEvent o qualcosa di simile) che restituisce un codice per la chiave che è stata premuta per generare l'evento. – FrankieTheKneeMan