用QT制作的倒计时软件

一、pro代码

复制代码
RC_ICONS =countdown.ico

二、mainwindow.cpp代码

复制代码
#include "mainwindow.h"
#include "ui_mainwindow.h"


#include <QDateTime>
#include <QMessageBox>
#include <QSettings>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    setWindowTitle("倒计时");
    setWindowIcon(QIcon("countdown.ico"));
    InitDateInfor();
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::InitDateInfor()
{
    // 读取INI文件中的日期
    QSettings settings("base.ini", QSettings::IniFormat);
    int year = settings.value("date/year").toInt();
    int month = settings.value("date/month").toInt();
    int day = settings.value("date/day").toInt();

    QDate targetDate(year, month, day);
    QDate currentDate = QDate::currentDate();

    // 计算剩余天数
    int daysLeft = targetDate.daysTo(currentDate);

    // 构造日期字符串
    QString date_str = QString("%1-%2-%3").arg(year).arg(month, 2, 10, QChar('0')).arg(day, 2, 10, QChar('0'));

    // 读取INI文件中的消息
    QString message1 = settings.value("message/message1").toString();
    QString last_message1=message1+QString("   ")+date_str;
   
    QString message2 = settings.value("message/message2").toString();
    QString last_message2 = QString("%1%4 天").arg(message2).arg(-daysLeft);


    ui->label_nowTime->setText(last_message1);
    ui->label_lastTime->setText(last_message2);

}

三、base.ini文件

复制代码
[date]
year=2025
month=2
day=5
[message]
message1="软件正式上线"
message2="剩余天数为:"
相关推荐
zh_xuan32 分钟前
c++ 单例模式
开发语言·c++·单例模式
老胖闲聊1 小时前
Python Copilot【代码辅助工具】 简介
开发语言·python·copilot
Blossom.1181 小时前
使用Python和Scikit-Learn实现机器学习模型调优
开发语言·人工智能·python·深度学习·目标检测·机器学习·scikit-learn
曹勖之2 小时前
基于ROS2,撰写python脚本,根据给定的舵-桨动力学模型实现动力学更新
开发语言·python·机器人·ros2
豆沙沙包?2 小时前
2025年- H77-Lc185--45.跳跃游戏II(贪心)--Java版
java·开发语言·游戏
军训猫猫头2 小时前
96.如何使用C#实现串口发送? C#例子
开发语言·c#
liuyang-neu2 小时前
java内存模型JMM
java·开发语言
我很好我还能学4 小时前
【面试篇 9】c++生成可执行文件的四个步骤、悬挂指针、define和const区别、c++定义和声明、将引用作为返回值的好处、类的四个缺省函数
开发语言·c++
蓝婷儿4 小时前
6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
开发语言·python·学习
渣渣盟5 小时前
基于Scala实现Flink的三种基本时间窗口操作
开发语言·flink·scala