QT5-控件-QDateEdit 和 日期类QDate
#ifndef MAINWINDOW_H
#define MAINWINDOW_H #include <QMainWindow>
#include <QDate>
#include <QDateEdit> class MainWindow : public QMainWindow
{
Q_OBJECT public:
MainWindow(QWidget *parent = );
~MainWindow(); QDateEdit* dateEdit[]; public slots:
void dateChanged();
}; #endif // MAINWINDOW_H
#include "mainwindow.h"
#include <QtDebug> MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
this->resize(,);
this->centralWidget(); QDate dt1 = QDate(,,);
QDate dt2 = QDate::currentDate(); dateEdit[] = new QDateEdit(dt1.addYears(),this);
dateEdit[]->setGeometry(,,,); dateEdit[] = new QDateEdit(dt1.addMonths(),this);
dateEdit[]->setGeometry(,,,); dateEdit[] = new QDateEdit(dt1.addDays(),this);
dateEdit[]->setGeometry(,,,); dateEdit[] = new QDateEdit(dt2,this);
dateEdit[]->setGeometry(,,,); // 判断日期是否合法1
if(QDate::isValid(,,))
{
qDebug()<<"2016-02-30是合法日期";
}
else
{
qDebug()<<"2016-02-30是非法日期";
}
// 判断日期是否合法2
if(QDate(,,).isValid())
{
qDebug()<<"2016-02-21是合法日期";
}
else
{
qDebug()<<"2016-02-21是非法日期";
}
// 从字符串格式化得到日期
QDate dt3 = QDate::fromString("2016.02.01","yyyy.MM.dd");
QDate dt4 = QDate::fromString("02-01","MM-dd");
qDebug()<<"字符串1格式化得到的时间"<<dt3.toString();
qDebug()<<"字符串2格式化得到的时间"<<dt4.toString();
// 将时间转化为字符串
qDebug()<<"TextDate格式(默认):"<<dt3.toString(Qt::TextDate);
qDebug()<<"ISO格式:"<<dt3.toString(Qt::ISODate);
qDebug()<<"各国表现方式:"<<dt3.toString(Qt::SystemLocaleDate);
connect(dateEdit[],SIGNAL(dateChanged(QDate)),this,SLOT(dateChanged()));
// 得到星期,月的长短英文字符串
QString longWeek = dt3.longDayName(dt3.dayOfWeek());
QString longMonth = dt3.longMonthName(dt3.month());
QString strDateLong = QString("%1 %2").arg(longWeek).arg(longMonth); QString shortWeek = dt3.longDayName(dt3.dayOfWeek());
QString shortMonth = dt3.longMonthName(dt3.month());
QString strDateShort = QString("%1 %2").arg(shortWeek).arg(shortMonth); qDebug()<<"短名称"<<strDateShort;
qDebug()<<"长名称"<<strDateLong;
} MainWindow::~MainWindow()
{ } void MainWindow::dateChanged()
{
QDate dt = dateEdit[]->date();
// 显示星期
switch (dt.dayOfWeek()) {
case :
qDebug()<<"星期一,"<<"今年第"<<dt.dayOfYear()<<"天";
qDebug()<<"该月总共"<<dt.daysInMonth()<<"天,改年总共"<<dt.daysInYear()<<"天";
break;
case :
qDebug()<<"星期二,"<<"今年第"<<dt.dayOfYear()<<"天";
qDebug()<<"该月总共"<<dt.daysInMonth()<<"天,改年总共"<<dt.daysInYear()<<"天";
break;
case :
qDebug()<<"星期三,"<<"今年第"<<dt.dayOfYear()<<"天";
qDebug()<<"该月总共"<<dt.daysInMonth()<<"天,改年总共"<<dt.daysInYear()<<"天";
break;
case :
qDebug()<<"星期四,"<<"今年第"<<dt.dayOfYear()<<"天";
qDebug()<<"该月总共"<<dt.daysInMonth()<<"天,改年总共"<<dt.daysInYear()<<"天";
break;
case :
qDebug()<<"星期五,"<<"今年第"<<dt.dayOfYear()<<"天";
qDebug()<<"该月总共"<<dt.daysInMonth()<<"天,改年总共"<<dt.daysInYear()<<"天";
break;
case :
qDebug()<<"星期六,"<<"今年第"<<dt.dayOfYear()<<"天";
qDebug()<<"该月总共"<<dt.daysInMonth()<<"天,改年总共"<<dt.daysInYear()<<"天";
break;
case :
qDebug()<<"星期七,"<<"今年第"<<dt.dayOfYear()<<"天";
qDebug()<<"该月总共"<<dt.daysInMonth()<<"天,改年总共"<<dt.daysInYear()<<"天";
break;
default:
break;
}
}
#include "mainwindow.h"
#include <QApplication> int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show(); return a.exec();
}

QT5-控件-QDateEdit 和 日期类QDate的更多相关文章
- 在MonthCalendar控件中选中日期
Calendar.MONTH Calendar now=Calendar.getInstance();System.out.print(now.get(Calendar.MONTH));得到的月份少1 ...
- 背水一战 Windows 10 (37) - 控件(弹出类): MessageDialog, ContentDialog
[源码下载] 背水一战 Windows 10 (37) - 控件(弹出类): MessageDialog, ContentDialog 作者:webabcd 介绍背水一战 Windows 10 之 控 ...
- 背水一战 Windows 10 (36) - 控件(弹出类): ToolTip, Popup, PopupMenu
[源码下载] 背水一战 Windows 10 (36) - 控件(弹出类): ToolTip, Popup, PopupMenu 作者:webabcd 介绍背水一战 Windows 10 之 控件(弹 ...
- 背水一战 Windows 10 (35) - 控件(弹出类): FlyoutBase, Flyout, MenuFlyout
[源码下载] 背水一战 Windows 10 (35) - 控件(弹出类): FlyoutBase, Flyout, MenuFlyout 作者:webabcd 介绍背水一战 Windows 10 之 ...
- QMUI UI库 控件 弹窗 列表 工具类 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- firedac数据集控件的公共祖先类——TFDAdaptedDataSet
firedac数据集控件的公共祖先类——TFDAdaptedDataSet TFDQuery = class(TFDCustomQuery)TFDCustomQuery = class(TFDRdbm ...
- delphi中DateTimePicker控件同时输入日期和时间
将DateTimePicker的Format属性中加入日期格式设成 'yyyy-MM-dd HH:mm',注意大小写 , 将kind设置为dtkTime即可,可以在每次Form onShow时将Dat ...
- WPF 中如何使用第三方控件 ,可以使用WindowsFormsHost 类
允许在 WPF 页面上承载 Windows Forms控件的元素. 命名空间: System.Windows.Forms.Integration 程序集: WindowsFormsIntegr ...
- 修改Devexpress DateEdit控件默认的日期格式和日历风格
最近项目中很多地方使用到DevExpress的DateEdit控件,而且设置都是一致(日期格式.选择日期的日历的风格等).每一次都需要设置太痛苦,因此需要寻找一种高效的解决方式. 一. 设置好一个作为 ...
随机推荐
- 汇编语言中PTR的含义(转载)
mov ax,bx ;是把BX寄存器“里”的值赋予AX,由于二者都是word型,所以没有必要加“WORD” mov ax,word ptr [bx];是把内存地址等于“BX寄存器的值”的地方所存放的数 ...
- mysql配置文件my.cnf
basedir = path 使用给定目录作为根目录(安装目录). character-sets-dir = path 给出存放着字符集的目录. datadir = path 从给定目录读取数据库文件 ...
- dedecms _ 当前位置问题的代码
{dede:field name='position' runphp='yes'} $tc=" > "; $tf=split($tc,@me); $tn=count($tf) ...
- PHP二维数组排序函数
PHP一维数组的排序可以用sort(),asort(),arsort()等函数,但是PHP二维数组的排序需要自定义. 以下函数是对一个给定的二维数组按照指定的键值进行排序,先看函数定义: functi ...
- Idea使用记录--添加Problems&&解决Autowired报错could not autowire
今天在使用Idea的时候,发现Idea在整个每次找到错误代码非常不方便(Idea如果类中有错误,没有打开过类并不会提示,比如构建工程后缺少jar包问题).我想快速看到工程哪里出问题类似于eclipse ...
- centos6.6安装mysql5.7.6(采用MySQL Yum Repository)—(先看最后一行)
在centos6.6系统上采用MySQL Yum Repository安装mysql5.7.6: 帮助文档:http://dev.mysql.com/doc/refman/5.7/en/linux-i ...
- Codeforces 351B Jeff and Furik
http://codeforces.com/problemset/problem/351/B 题意:两个人轮流游戏,先手交换相邻两个数,后手先抛硬币,正面就左大右小换,反面就右大左小换,随机找到一对数 ...
- 代理模式 - OK
代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问. 在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用. 代理模式的优点: ...
- coursera上的软件安全课程的课后阅读补充
在coursera选修了一门软件安全的课程.下面是教授列出来的阅读: Week 1 Readings Required reading The only required reading this w ...
- 完美:adobe premiere cs6破解版下载[序列号+汉化包+破解补丁+破解教程]
原文地址:http://blog.sina.com.cn/s/blog_6306f2c60102f5ub.html 完美:adobe premiere cs6破解版下载,含序列号.汉化包.注册机.破解 ...