En este artículo veremos cómo podemos crear una calculadora de cumpleaños más cercana a la edad. La calculadora de edad más cercana es la calculadora que se utiliza para obtener la edad más cercana a la fecha de nacimiento. A continuación se muestra cómo se ve la calculadora de edad más cercana . Concepto: podemos obtener la edad más cercana al cumpleaños al obtener la diferencia entre la fecha de nacimiento y la fecha actual con la ayuda de los objetos de fecha y hora de python. Contarán los años bisiestos y podemos obtener el número de días entre las fechas. Luego, estos días se pueden dividir con el 365.32422 para obtener los años, luego el valor redondo de los años será la edad más cercana al cumpleaños.
Pasos de implementación de la GUI: 1. Cree una etiqueta de encabezado que muestre el nombre de la calculadora 2. Cree una etiqueta para mostrar al usuario que seleccione la fecha de nacimiento 3. Cree un objeto QCalendarWidget para que el usuario seleccione la fecha de nacimiento 4. Cree un botón para calcular la fecha de nacimiento más cercana edad 5. Cree una etiqueta para mostrar la edad calculada Implementación de back-end:1. Cree el bloque de fecha futura del calendario, es decir, establezca la fecha actual como fecha máxima 2. Agregue una acción al botón pulsador 3. Dentro de la acción del botón pulsador, obtenga la fecha del calendario y la fecha actual 4. Obtenga el día, mes y año de ambas fechas 5. Cree un objeto datetime.date para ambas fechas 6. Obtenga la diferencia de ambas fechas y obtenga los días 7. Divida los días con 365.2422 (debido al año bisiesto) para obtener el total de años 8. Obtenga la ronda valor de los años y mostrar este valor a través de la etiqueta
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 datetime import sys class Window(QMainWindow): def __init__(self): super().__init__() # setting title self.setWindowTitle("Python ") # width of window self.w_width = 400 # height of window self.w_height = 500 # setting geometry self.setGeometry(100, 100, self.w_width, self.w_height) # calling method self.UiComponents() # showing all the widgets self.show() # method for components def UiComponents(self): # creating head label head = QLabel("Age Nearest Birthday Calculator", self) head.setWordWrap(True) # setting geometry to the head head.setGeometry(0, 10, 400, 60) # font font = QFont('Times', 15) font.setBold(True) font.setItalic(True) font.setUnderline(True) # setting font to the head head.setFont(font) # setting alignment of the head head.setAlignment(Qt.AlignCenter) # setting color effect to the head color = QGraphicsColorizeEffect(self) color.setColor(Qt.darkCyan) head.setGraphicsEffect(color) # creating a label b_label = QLabel("Select Birthday", self) # setting properties label b_label.setAlignment(Qt.AlignCenter) b_label.setGeometry(50, 105, 300, 25) b_label.setStyleSheet("QLabel" "{" "border : 1px solid black;" "background : rgba(70, 70, 70, 25);" "}") b_label.setFont(QFont('Times', 9)) # creating a calendar widget to select the date self.calendar = QCalendarWidget(self) # setting geometry of the calendar self.calendar.setGeometry(50, 130, 300, 180) # setting font to the calendar self.calendar.setFont(QFont('Times', 6)) # getting current date date = QDate.currentDate() # blocking future dates self.calendar.setMaximumDate(date) # creating a push button calculate = QPushButton("Calculate Time", self) # setting geometry to the push button calculate.setGeometry(125, 340, 150, 40) # adding action to the calculate button calculate.clicked.connect(self.calculate_action) # creating a label to show percentile self.result = QLabel(self) # setting properties to result label self.result.setAlignment(Qt.AlignCenter) self.result.setGeometry(50, 400, 300, 60) self.result.setWordWrap(True) self.result.setStyleSheet("QLabel" "{" "border : 3px solid black;" "background : white;" "}") self.result.setFont(QFont('Arial', 11)) def calculate_action(self): # getting birth date day birth = self.calendar.selectedDate() # getting year and month day of birth day birth_year = birth.year() birth_month = birth.month() birth_day = birth.day() # getting today date current = QDate.currentDate() # getting year and month day of current day current_year = current.year() current_month = current.month() current_day = current.day() # converting dates into date object birth_date = datetime.date(birth_year, birth_month, birth_day) current_date = datetime.date(current_year, current_month, current_day) # getting difference in both the dates difference = current_date - birth_date # getting days from the difference difference = difference.days # getting years from the difference years = difference / 365.2422 # getting round value of years years = round(years) # setting this value with the help of label self.result.setText("Closest Age is : " + str(years)) # 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