Mam problem ze zrozumieniem, jak działa metoda keyPressEvent w tym programie. W szczególności, co to jest "e"? Czy keyPressEvent jest przedefiniowaną metodą, używając wcześniej istniejącej instancji "e"?Jak działa metoda keyPressEvent w tym programie?
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()
Nie jestem zaznajomiony z obsługą zdarzeń, ale zgaduję, że klucz() jest zdefiniowany w Qt? Następnie, po naciśnięciu klawisza przechodzi do tej funkcji. Dzięki za pomoc! – Ci3
.key() to metoda zdefiniowana w odpowiednim obiekcie Event (prawdopodobnie KeyPressEvent lub podobnym), która zwraca kod dla klucza, który został naciśnięty w celu wygenerowania zdarzenia. – FrankieTheKneeMan