QT5.14入门教程GUI(七)第7个QT程序-日期-时间-日历控件QDate-QTime-QCalendar

QT5.14入门教程GUI(七)第7个QT程序-日期-时间-日历控件QDate-QTime-QCalendar

1、新建项目,改名称7DateTime;

 

 

 

QT5.14入门教程GUI(七)第7个QT程序-日期-时间-日历控件QDate-QTime-QCalendar

 

2、改类名

QT5.14入门教程GUI(七)第7个QT程序-日期-时间-日历控件QDate-QTime-QCalendar

3、打开UI界面,双击;QT5.14入门教程GUI(七)第7个QT程序-日期-时间-日历控件QDate-QTime-QCalendar

 

4、找到左侧,按钮,如下;单击,拖到右侧界面中释放;

1个 Time Edit  1个Date Edit   1个  Date/Time Edit  

3个Line Edit 

QT5.14入门教程GUI(七)第7个QT程序-日期-时间-日历控件QDate-QTime-QCalendar

1个 Calendar Widget

QT5.14入门教程GUI(七)第7个QT程序-日期-时间-日历控件QDate-QTime-QCalendar

5、再添加几个Label  4个 Button  1个Group Box

6、布局如下;

QT5.14入门教程GUI(七)第7个QT程序-日期-时间-日历控件QDate-QTime-QCalendar

7、在头文件中,dialog.h中,添加函数声明,2个;

QT5.14入门教程GUI(七)第7个QT程序-日期-时间-日历控件QDate-QTime-QCalendar

8、在dialog.cpp中,添加槽链接,2个;

    QObject::connect(ui->btnGetTime_2,SIGNAL(clicked()),this,SLOT(get_time()));
    //槽链接,获取当前时间;
    QObject::connect(ui->calendarWidget_3,SIGNAL(selectionChanged()),this,SLOT(data_change()));
     //槽链接,设置预定日期;

QT5.14入门教程GUI(七)第7个QT程序-日期-时间-日历控件QDate-QTime-QCalendar

9、添加2个函数定义;

void Dialog::get_time()
{
    QDateTime nowtime =QDateTime::currentDateTime();    //获取当前服务器时间;
    ui->timeEdit_3->setTime(nowtime.time());            //设置时间控件,显示服务器时间;
    ui->editTime_2->setText(nowtime.toString("hh:mm:ss"));      //设置文本控件,显示服务器时间;
    ui->dateEdit_3->setDate(nowtime.date());                     //设置日期控件,显示服务器日期;
    ui->editDate_2->setText(nowtime.toString("yyyy-MM-dd"));        //设置文本控件,显示服务器日期;
    ui->dateTimeEdit_3->setDateTime(nowtime);
    ui->editDateTime_2->setText(nowtime.toString("yyyy-MM-dd hh:mm:ss"));   //设置文本控件,显示服务器日期时间;
}

void Dialog::data_change()
{
    QDate dt=ui->calendarWidget_3->selectedDate();      //QDate日期格式对象,dt,从日历控件,获取日期;
    ui->dateEdit_3->setDate(dt);
    ui->editDate_2->setText(dt.toString("yyyy-MM-dd"));
    QDateTime settime=QDateTime::currentDateTime();
    settime.setDate(dt);
    ui->dateTimeEdit_3->setDateTime(settime);
    ui->editDateTime_2->setText(settime.toString("yyyy-MM-dd hh:mm:ss"));
    ui->timeEdit_3->setTime(settime.time());
    ui->editTime_2->setText(settime.toString("hh:mm:ss"));
}

如下图;

QT5.14入门教程GUI(七)第7个QT程序-日期-时间-日历控件QDate-QTime-QCalendar

 

QT5.14入门教程GUI(七)第7个QT程序-日期-时间-日历控件QDate-QTime-QCalendar

10、运行;效果如图;

QT5.14入门教程GUI(七)第7个QT程序-日期-时间-日历控件QDate-QTime-QCalendar