En este artículo veremos cómo podemos obtener la señal activada del QCalendarWidget. Se emite una señal activada cada vez que el usuario presiona la tecla Retorno o Intro o hace doble clic en una fecha en el widget de calendario.
Para hacer esto, usaremos el método activado con el objeto QCalendarWidget.
Sintaxis: calendar.activated.connect (lambda: print («Calendario activado»))
Argumento: toma el método como argumento
Acción realizada: imprimirá el mensaje cada vez que se emita la señal activada
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 class Window(QMainWindow): def __init__(self): super().__init__() # setting title self.setWindowTitle("Python ") # setting geometry self.setGeometry(100, 100, 600, 400) # calling method self.UiComponents() # showing all the widgets self.show() # method for components def UiComponents(self): # creating a QCalendarWidget object calendar = QCalendarWidget(self) # setting geometry to the calendar calendar.setGeometry(10, 10, 400, 250) # creating a label label = QLabel(self) # setting geometry to the label label.setGeometry(100, 280, 250, 60) # making label multi line label.setWordWrap(True) # text text = "Activated Signals received (No.) : " # current count self.count = 0 # getting the activated signal and # when receives the signal printing the message calendar.activated.connect(lambda: label.setText(text + str(get_count()))) # method to increase the count value def get_count(): self.count += 1 return self.count # create pyqt5 app App = QApplication(sys.argv) # create the instance of our Window window = Window() # start the app sys.exit(App.exec())
Producción :
Publicación traducida automáticamente
Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA