Qt之日历组件QCalendarWidget及日期、时间控件

二、主要源码

2.1  日历控件(calendarWidget)

    //窗口尺寸
    this->resize(600,500);
    calendar_label = new QLabel(this);
    calendar_label->setText("选择日期");
    //标签以及编辑框位置
    calendar_label->setGeometry(QRect(100,70,100,25));
    calendar_Edit = new QLineEdit(this);
    calendar_Edit->setGeometry(QRect(180,70,150,25));
    //cursorPositionChanged触发的事件
    connect(calendar_Edit,SIGNAL(cursorPositionChanged(int,int)),this,SLOT(showTime()));
    //实例时间控件
    calendarWidget = new QCalendarWidget(this);
    //日历组件位置
    calendarWidget->setGeometry(25,98,450,280);
    //隐藏日历组件
    calendarWidget->setHidden(true);
    //时间控件点击事件
    connect(calendarWidget,SIGNAL(clicked(QDate)),this,SLOT(setDate()));
 
    //槽函数
    void Widget::showTime()
    {
         calendarWidget->setHidden(false);
    }
    
    void Widget::setDate()
    {
         //接收选择时间
         QDate date = calendarWidget->selectedDate();
         //时间格式化
         QString str = date.toString("yyyy-MM-dd");
         calendar_Edit->setText(str);
         //日历组件隐藏
         calendarWidget->setHidden(true);
    }


2.2日期、时间控件(QDateTime)

    //时间控件
    timeEdit = new QTimeEdit(this);
    //位置
    timeEdit->setGeometry(QRect(400,40,120,25));
    //获取系统时间
    QDateTime sysTime1 = QDateTime::currentDateTime();
    //获取时分秒以“:”号拆分赋予 list 数组
    QStringList list = sysTime1.toString("hh:mm:ss").split(':');
    //将时分秒绑定控件
    timeEdit->setTime(QTime(list[0].toInt(),list[1].toInt(),list[2].toInt()));
 
    //日期控件
    dateEdit = new QDateEdit(this);
    //位置
    dateEdit->setGeometry(QRect(400,70,120,25));
    //获取系统时间
    QDateTime sysTime2 = QDateTime::currentDateTime();
    //获取时分秒以“-”号拆分赋予 list 数组
    QStringList list2 = sysTime2.toString("yyyy-MM-dd").split('-');
    //将年月日绑定控件
    dateEdit->setDate(QDate(list2[0].toInt(),list2[1].toInt(),list2[2].toInt()));

 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值