1 #include "timesetting.h" 2 #include "ui_timesetting.h" 3 #include <QDebug> TimeSetting(QWidget * parent)4TimeSetting::TimeSetting(QWidget *parent) : 5 QDialog(parent), 6 ui(new Ui::TimeSetting) 7 { 8 ui->setupUi(this); 9 ui->dateEdit->setCalendarPopup(true); 10 connect(ui->dateEdit,SIGNAL(dateChanged(QDate)),this,SLOT(setDatesTimes())); 11 connect(ui->timeEdit,SIGNAL(timeChanged(QTime)),this,SLOT(setDatesTimes())); 12 QDate nowDate=QDate::currentDate(); 13 ui->label->setText("当前日期:"+nowDate.toString("yyyy-MM-dd")); 14 } 15 ~TimeSetting()16TimeSetting::~TimeSetting() 17 { 18 delete ui; 19 } setDatesTimes()20void TimeSetting::setDatesTimes() 21 { 22 QObject* sender = QObject::sender(); 23 if(sender==ui->dateEdit){ 24 qDebug()<<"date changed"; 25 QDate datesetting=ui->dateEdit->date(); 26 qDebug()<<datesetting; 27 } 28 else if(sender==ui->timeEdit){ 29 qDebug()<<"time changed"; 30 QTime timesetting=ui->timeEdit->time(); 31 qDebug()<<timesetting; 32 } 33 else{ 34 qDebug()<<"no signal sender"; 35 } 36 37 } 38 39 on_setButton_clicked()40void TimeSetting::on_setButton_clicked() 41 { 42 QString date=ui->dateEdit->text(); 43 QString time=ui->timeEdit->text(); 44 qDebug()<<date<<time; 45 QString temp=QString(tr("当前时间为:"))+date+" "+time; 46 ui->label->setText(temp); 47 setDateAndTime(); 48 } setDateAndTime()49void TimeSetting::setDateAndTime() 50 { 51 QDateTime dt = QDateTime::currentDateTime(); 52 dt.setDate(ui->dateEdit->date()); 53 dt.setTime(ui->timeEdit->time()); 54 time_t tt = (time_t)dt.toTime_t(); 55 #if defined(Q_OS_LINUX) 56 stime(&tt); 57 #endif 58 } 59