📜  Python – 使用 PyQt 的年龄计算器(1)

📅  最后修改于: 2023-12-03 15:19:04.637000             🧑  作者: Mango

Python – 使用 PyQt 的年龄计算器

本文介绍如何使用PyQt和Python编写一个简单的年龄计算器,界面清晰明了,非常容易上手。

准备工作

在开始编写年龄计算器之前,需要确保您的计算机已经安装了Python和PyQt。安装Python非常简单,只需要去官方网站下载即可。而PyQt的安装则可以通过pip来完成,运行以下命令即可:

pip install PyQt5
编写年龄计算器

我们需要使用PyQt的QWidget、QLabel、QLineEdit和QPushbutton等组件来完成年龄计算器的界面。在计算器中,用户需要输入自己的出生年月日,然后通过点击按钮来计算出年龄。以下是代码的具体实现:

import sys
from PyQt5.QtWidgets import *


# Create QApplication
app = QApplication(sys.argv)

# Initialize QWidget
widget = QWidget()
widget.setWindowTitle('年龄计算器')

# Add QLabel & QLineEdit
label_year = QLabel('出生年份:')
input_year = QLineEdit()

label_month = QLabel('出生月份:')
input_month = QLineEdit()

label_day = QLabel('出生日期:')
input_day = QLineEdit()

input_layout = QGridLayout()
input_layout.addWidget(label_year, 0, 0)
input_layout.addWidget(input_year, 0, 1)
input_layout.addWidget(label_month, 1, 0)
input_layout.addWidget(input_month, 1, 1)
input_layout.addWidget(label_day, 2, 0)
input_layout.addWidget(input_day, 2, 1)

# Add QPushButton
btn_calculate = QPushButton('计算年龄')

# Add QLabel
label_age = QLabel()

# Add QGridLayout
layout = QGridLayout()
layout.addLayout(input_layout, 0, 0)
layout.addWidget(btn_calculate, 1, 0)
layout.addWidget(label_age, 2, 0)

widget.setLayout(layout)

# Calculate age
def calculate_age():
    year = int(input_year.text())
    month = int(input_month.text())
    day = int(input_day.text())

    age = QApplication.instance().datetime().currentDateTime().date().year() - year
    if (month, day) > (QApplication.instance().datetime().currentDateTime().date().month(), QApplication.instance().datetime().currentDate().day()):
        age -= 1

    label_age.setText('您的年龄是:{}岁'.format(age))

btn_calculate.clicked.connect(calculate_age)

# Show QWidget
widget.show()

# Run QApplication
sys.exit(app.exec_())
运行年龄计算器

我们可以保存上述代码到一个Py文件中(例如age_calculator.py),然后通过以下命令来运行年龄计算器:

python age_calculator.py

当用户输入出生年月日并点击“计算年龄”按钮时,年龄计算器会根据用户的输入计算并显示用户的年龄。如果用户输入的出生日期晚于当前日期,则年龄计算器会自动减去1岁。

现在,您已经成功地创建了一个简单的年龄计算器,使用PyQt和Python编写的界面和逻辑非常简单,是入门级别的学习项目,也是理解PyQt的好方法。