En este artículo veremos cómo podemos implementar el evento de presionar el mouse para el QCalendarWidget. Este controlador de eventos, para eventos, se puede volver a implementar en una subclase para recibir eventos de pulsación del mouse para el calendario. La implementación predeterminada implementa el cierre de widgets emergentes cuando hace clic fuera de la ventana. Para otros tipos de widgets no hace nada.
A continuación se muestra el código de la clase Calendario
# QCalendarWidget Class class Calendar(QCalendarWidget): # constructor def __init__(self, parent=None): super(Calendar, self).__init__(parent) # overriding the mousePressEvent method def mousePressEvent(self, event): print("Mouse Press Event")
Pasos de implementación:
1. Cree una clase de Calendario que herede el QCalendarWidget
2. Dentro de la clase de Calendario anule el mousePressEvent y dentro del evento imprima el texto
3. Cree una clase de ventana principal
4. Cree un objeto de Calendario dentro de la ventana principal
5. Configure varios propiedades al calendario
A continuación se muestra la implementación.
Python3
# importing libraries from PyQt5.QtWidgets import * from PyQt5 import QtCore, QtGui from PyQt5.QtGui import * from PyQt5.QtCore import * import sys # QCalendarWidget Class class Calendar(QCalendarWidget): # constructor def __init__(self, parent = None): super(Calendar, self).__init__(parent) # overriding the mousePressEvent method def mousePressEvent(self, event): print("Mouse Press Event") class Window(QMainWindow): def __init__(self): super().__init__() # setting title self.setWindowTitle("Python ") # setting geometry self.setGeometry(100, 100, 650, 400) # calling method self.UiComponents() # showing all the widgets self.show() # method for components def UiComponents(self): # creating a QCalendarWidget object # as Calendar class inherits QCalendarWidget self.calendar = Calendar(self) # setting geometry to the calendar self.calendar.setGeometry(50, 10, 400, 250) # setting cursor self.calendar.setCursor(Qt.PointingHandCursor) # create pyqt5 app App = QApplication(sys.argv) # create the instance of our Window window = Window() # start the app sys.exit(App.exec())
Producción :
Mouse Press Event Mouse Press Event Mouse Press Event Mouse Press Event Mouse Press Event
Publicación traducida automáticamente
Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA