In diesem Artikel erfahren Sie, wie Sie das Key Release-Ereignis für das QCalendarWidget implementieren können. Um das Schlüsselfreigabeereignis festzulegen, müssen wir die keyReleaseEvent-Methode überschreiben. Durch Überschreiben des Schlüsselfreigabeereignisses können wir dem Kalender Funktionen hinzufügen, wenn die gedrückte Taste losgelassen wird. Im Gegensatz zum Tastendruckereignis findet das Tastendruckereignis statt, wenn die gedrückte Taste losgelassen wird. Wir können sagen, dass das erste Tastendruckereignis stattfindet, dann das Freigabeereignis

Implementierungsschritte:
1. Erstellen Sie ein Hauptfenster.
2. Erstellen Sie ein QCalendarWidget.
3. Legen Sie verschiedene Eigenschaften für den Kalender fest.
4.
Überschreiben Sie das keyReleaseEvent. 5. Überprüfen Sie innerhalb der Override-Methode, ob die Escape-Taste gedrückt wurde, und blenden Sie den Kalender aus

Unten ist die Implementierung

from PyQt5.QtWidgets import * 
from PyQt5 import QtCore, QtGui 
from PyQt5.QtGui import * 
from PyQt5.QtCore import * 
import sys 
  
  
class Window(QMainWindow): 
  
    def __init__(self): 
        super().__init__() 
  
        
        self.setWindowTitle("Python ") 
  
        
        self.setGeometry(100, 100, 650, 400) 
  
        
        self.UiComponents() 
  
        
        self.show() 
  
    
    def UiComponents(self): 
  
        
        self.calendar = QCalendarWidget(self) 
  
        
        self.calendar.setGeometry(50, 10, 400, 250) 
  
        
        self.calendar.setCursor(Qt.PointingHandCursor) 
  
  
    
    def keyReleaseEvent(self, e): 
  
        
        if e.key() == Qt.Key_Escape: 
  
            
            self.calendar.hide() 
            print("Escape key released Hide the calendar") 
  
  
App = QApplication(sys.argv) 
  
window = Window() 
  
sys.exit(App.exec()) 

Ausgabe :

Escape-Taste losgelassen Kalender ausblenden