Qt6-网络关机助手(开机自启版)新增定时关机功能

简介: https://blog.csdn.net/z609932088/article/details/113957407

接上一个版本,这个版本中新增了定时关机功能。同时已更换成了公司的LOGO,如下图所示


image.png

下面分享一下主要核心代码

void MainWindow::readConfig()
{
    QString curPath = QCoreApplication::applicationDirPath();
    curPath.append("/CONFIG.ini");
    QSettings *config = new QSettings(curPath,QSettings::IniFormat);
    ui->timeEdit_off->setTime(QTime(config->value("TimerOff/HH").toInt(),config->value("TimerOff/MM").toInt(),0,0));
    if(config->value("TimerOff/FLAG").toInt())
    {
        ui->checkBox_isTimerOff->setChecked(true);
    }
}

首先需要有读取配置文件功能,定时关机的功能开关机时间都保存在本地的config文件中,每次程序启动都去读取文件

其次要有写入功能,每次修改时间后,可以回写到config文件中,这里有两部分,一种是功能开关了,一种就是自动执行了

如下

void MainWindow::on_checkBox_isTimerOff_clicked(bool checked)
{
    QString curPath = QCoreApplication::applicationDirPath();
    curPath.append("/CONFIG.ini");
    QSettings *config = new QSettings(curPath,QSettings::IniFormat);
    if(checked)
    {
        config->setValue("TimerOff/FLAG",1);
        config->setValue("TimerOff/HH",ui->timeEdit_off->time().hour());
        config->setValue("TimerOff/MM",ui->timeEdit_off->time().minute());
    }
    else
        config->setValue("TimerOff/FLAG",0);
}

执行就是在获取时间函数里面更新,这里等于重写了上个版本中的获取时间函数,如下

QString MainWindow::getTime(QString format)
{
    QTime mTime = QTime::currentTime();
    if(ui->checkBox_isTimerOff->isChecked())
        if(mTime.hour() == mTimeOff.hour() && mTime.minute() == mTimeOff.minute())
        {
            ui->checkBox_isTimerOff->setChecked(false);
            QSettings *config = new QSettings("CONFIG.ini",QSettings::IniFormat);
            config->setValue("TimerOff/HH",mTime.hour());
            config->setValue("TimerOff/MM",mTime.minute());
            sentConmad();
        }
    return mTime.toString(format);
}

这样就可以完成了

目录
相关文章
|
14天前
|
机器学习/深度学习 算法
神经网络的结构与功能
神经网络是一种广泛应用于机器学习和深度学习的模型,旨在模拟人类大脑的信息处理方式。它们由多层不同类型的节点或“神经元”组成,每层都有特定的功能和责任。
16 0
|
2月前
|
5G 网络安全 SDN
网络功能虚拟化(NFV)和软件定义网络(SDN):赋能5G网络灵活、智能演进的关键
网络功能虚拟化(NFV)和软件定义网络(SDN):赋能5G网络灵活、智能演进的关键
56 3
|
2月前
|
安全 Windows
怎样利用 Windows XP实现网络统一关机
怎样利用 Windows XP实现网络统一关机
怎样利用 Windows XP实现网络统一关机
|
26天前
|
JSON API 开发者
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
14 0
|
2月前
|
网络协议 C语言
C语言 网络编程(十三)并发的TCP服务端-以进程完成功能
这段代码实现了一个基于TCP协议的多进程并发服务端和客户端程序。服务端通过创建子进程来处理多个客户端连接,解决了粘包问题,并支持不定长数据传输。客户端则循环发送数据并接收服务端回传的信息,同样处理了粘包问题。程序通过自定义的数据长度前缀确保了数据的完整性和准确性。
|
2月前
|
网络协议 C语言
C语言 网络编程(十四)并发的TCP服务端-以线程完成功能
这段代码实现了一个基于TCP协议的多线程服务器和客户端程序,服务器端通过为每个客户端创建独立的线程来处理并发请求,解决了粘包问题并支持不定长数据传输。服务器监听在IP地址`172.17.140.183`的`8080`端口上,接收客户端发来的数据,并将接收到的消息添加“-回传”后返回给客户端。客户端则可以循环输入并发送数据,同时接收服务器回传的信息。当输入“exit”时,客户端会结束与服务器的通信并关闭连接。
|
2月前
|
C语言
C语言 网络编程(八)并发的UDP服务端 以进程完成功能
这段代码展示了如何使用多进程处理 UDP 客户端和服务端通信。客户端通过发送登录请求与服务端建立连接,并与服务端新建的子进程进行数据交换。服务端则负责接收请求,验证登录信息,并创建子进程处理客户端的具体请求。子进程会创建一个新的套接字与客户端通信,实现数据收发功能。此方案有效利用了多进程的优势,提高了系统的并发处理能力。
|
2月前
|
C语言
C语言 网络编程(九)并发的UDP服务端 以线程完成功能
这是一个基于UDP协议的客户端和服务端程序,其中服务端采用多线程并发处理客户端请求。客户端通过UDP向服务端发送登录请求,并根据登录结果与服务端的新子线程进行后续交互。服务端在主线程中接收客户端请求并创建新线程处理登录验证及后续通信,子线程创建新的套接字并与客户端进行数据交换。该程序展示了如何利用线程和UDP实现简单的并发服务器架构。
|
3月前
|
安全 网络安全 开发者
探索Python中的装饰器:简化代码,增强功能网络安全与信息安全:从漏洞到防护
【8月更文挑战第30天】本文通过深入浅出的方式介绍了Python中装饰器的概念、用法和高级应用。我们将从基础的装饰器定义开始,逐步深入到如何利用装饰器来改进代码结构,最后探讨其在Web框架中的应用。适合有一定Python基础的开发者阅读,旨在帮助读者更好地理解并运用装饰器来优化他们的代码。
|
3月前
|
C++
C++ Qt开发:QUdpSocket网络通信组件
QUdpSocket是Qt网络编程中一个非常有用的组件,它提供了在UDP协议下进行数据发送和接收的能力。通过简单的方法和信号,可以轻松实现基于UDP的网络通信。不过,需要注意的是,UDP协议本身不保证数据的可靠传输,因此在使用QUdpSocket时,可能需要在应用层实现一些机制来保证数据的完整性和顺序,或者选择在适用的场景下使用UDP协议。
121 2

推荐镜像

更多