Qt+树莓派4B 手动设置系统日期和时间

文章目录

  • 前言
  • 一、设置日期
  • 二、设置时间


前言

某些设备需要在无网络环境下工作,系统时间和日期无法通过网络实时同步,此时就需要人为设置.

一、设置日期

QString m_date,m_time;

QDateEdit *dateEdit = new QDateEdit(this);
dateEdit->setFixedSize(250,60);
connect(dateEdit,&QDateEdit::editingFinished,this,&AdminWidget::dateEditSlot);

void AdminWidget::dateEditSlot()
{
    m_date.clear();
    m_time.clear();
    m_time = QDateTime::currentDateTime().toString("hh:mm:ss");
    m_date = QString("sudo date -s '%1 %2'")
            .arg(dateEdit->date().toString("yyyy-MM-dd"))
            .arg(m_time);
    system(m_date.toStdString().c_str());
    qDebug() << "date:" << m_date;
    system("hwclock -w");
}

二、设置时间

QTimeEdit *timeEdit = new QTimeEdit(this);
timeEdit->setFixedSize(250,60);
connect(timeEdit,&QTimeEdit::editingFinished,this,&AdminWidget::timeEditSlot);

void AdminWidget::timeEditSlot()
{
    m_time.clear();
    m_time = QString("sudo date -s '%1'").arg(timeEdit->time().toString("hh:mm:ss"));
    system(m_time.toStdString().c_str());
    qDebug() << "m_time:" << m_time;
    system("hwclock -w");
}

你可能感兴趣的:(Qt,1024程序员节)