用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="剩余天数为:"
相关推荐
朱小勇本勇6 分钟前
Qt同步读取串口
开发语言·qt
木子欢儿38 分钟前
Windows Server 2019 配置PHP环境(图文教程)
开发语言·windows·adb·php
明月看潮生1 小时前
青少年编程与数学 02-004 Go语言Web编程 03课题、项目调试
开发语言·青少年编程·编程与数学·goweb
别发呆了吧1 小时前
封装上传组件的详细步骤
开发语言·前端·javascript
_小许_1 小时前
Go语言后台实现选中式导出excel文件
开发语言·golang·excel
见未见过的风景1 小时前
启动报错java.lang.NoClassDefFoundError: ch/qos/logback/core/status/WarnStatus
java·开发语言·logback
抓哇FullStack-Junior2 小时前
设计模式——建造者模式
java·开发语言·设计模式·建造者模式
前端郭德纲2 小时前
React 19有哪些新特性?
开发语言·javascript·react.js
shepherdSantiag2 小时前
【5】C#期末复习第5套
开发语言·c#
因特麦克斯2 小时前
如何处理对象的状态变化?如何实现工厂模式?
开发语言·c++