Qt:QDateTimeEdit
0、说明
QDateTimeEdit类提供了一个用于编辑Date和Time的Widget,它就像下边这样


QDateTimeEdit允许用户使用键盘编辑Date、或者用方向键来增加或减少Date、Time的值。Date、Time的显示格式由setDisplayFormat()进行设置:
QDateTimeEdit *dateEdit = new QDateTimeEdit(QDate::currentDate());
dateEdit->setMinimumDate(QDate::currentDate().addDays(-365));
dateEdit->setMaximumDate(QDate::currentDate().addDays(365));
dateEdit->setDisplayFormat("yyyy.MM.dd");
上文中,我们用今天的Date构造了一个QDateTimeEdit对象,并且限制了日期的范围为今天±365天,之后,我们设置了年月日的顺序。
1)使用弹出式日历Widget
QDateTimeEdit允许使用QCalendarWidget来选择日期,通过设置calendarPopup属性完成。除此之外,我们可以用setCalendarWidget()来定制一个特殊的弹出式日历。已经存在的日历Widget可以用calendarWidget()提取。
2)键盘追踪
当启用了keyboard tracking(默认情况下是启用的),每次敲击键盘修改某个字段值时都会发送一个信号,标识了数值更改。
当限制了日期的范围而通过键盘编辑某个字段会导致超出该范围,那么这次编辑就会被阻止。
当禁用了keyboard tracking,那么只有当键盘焦点离开该文本字段字段后才会显示修改。这允许用户通过编辑一个无效的Date-Time来实现一个有效的Date-Time。
1、模块和加载项
| Header: | #include <QDateTimeEdit> |
| qmake: | QT += widgets |
| Inherits: | QAbstractSpinBox |
| Inherited By: |
2、构造
| QDateTimeEdit(QTime time, QWidget *parent = nullptr) | 在parent下构造一个空DateTime Editor,其值设置为time |
| QDateTimeEdit(QDate date, QWidget *parent = nullptr) | 在parent下构造一个空DateTime Editor,其值设置为date |
| QDateTimeEdit(QDateTime datetime, QWidget *parent = nullptr) | 在parent下构造一个空DateTime Editor,其值设置为datetime |
| QDateTimeEdit(QWidget *parent = nullptr) | 在parent下构造一个空DateTime Editor |
3、静态字段
| enum |
Section { NoSection, AmPmSection, MSecSection, SecondSection, MinuteSection, …, YearSection } |
这里的Section是QFlags<Section>的typedef(别名)。 其中存储了一些Section值的OR组合。 一个Section就是实际显示时的一个字段,比如显示格式为'yyyy/yy/yyyy',那么Section数目就为3 |
| flags | Sections |
4、实例字段
字段名 |
类型 |
说明 |
getter、setter |
信号、槽 |
||||||
| calendarPopup | bool | 是否允许以日历形式选择日期 |
calendarPopup() setCalendarPopup(bool enable) |
|||||||
| currentSection | Section |
当前Section。 Section是指当光标位于的字段。 |
currentSection() setCurrentSection(QDateTimeEdit::Section section) |
|||||||
| currentSectionIndex | int |
当前Section的位置索引。 比如当前Section在第二个字段处,那么该值就是1 |
currentSectionIndex() |
|||||||
| date | QDate | 当前的QDate |
date() setDate(const QDate &date) |
dateChanged(const QDate &date) | ||||||
| dateTime | QDateTime | 当前的QDateTime |
dateTime() setDateTime(const QDateTime &dateTime) |
dateTimeChanged(const QDateTime &datetime) | ||||||
| displayFormat | QString |
展示出来的字符串格式。 格式见 |
displayFormat() setDisplayFormat(const QString &format) |
|||||||
| displayedSections | Sections | 当前展示的Section | displayedSections() | |||||||
| maximumDate | QDate | 最大Date |
maximumDate() setMaximumDate(const QDate &max) clearMaximumDate() |
|||||||
| maximumDateTime | QDateTime | 最大DateTime |
|
|||||||
| maximumTime | QTime | 最大Time |
|
|||||||
| minimumDate | QDate | 最小Date |
|
|||||||
| minimumDateTime | QDateTime | 最小DateTime |
|
|||||||
| minimumTime | QTime | 最小Time |
|
|||||||
| sectionCount | int | 一共几个Section | sectionCount() | |||||||
| time | QTime | 当前Time |
time() setTime(const QTime &time) |
timeChanged(const QTime &time) | ||||||
| timeSpec | Qt::TimeSpec | 当前TimeSpec |
timeSpec() setTimeSpec(Qt::TimeSpec spec) |
6、实例方法
7、信号
| dateChanged(QDate date) | |
| dateTimeChanged(QDateTime datetime) | |
| timeChanged(QTime time) |
8、槽
| setDate(QDate date) | |
| setDateTime(QDateTime dateTime) | |
| setTime(QTime time) |
Qt:QDateTimeEdit的更多相关文章
- Qt:禁止qDebug的输出
Qt:禁止qDebug的输出 在工程的.pro文件里加上以下编译批令即可: DEFINES += QT_NO_DEBUG_OUTPUT
- Qt:使用自定义的字体
Qt:使用自定义的字体 1. 下载字体文件 2. 加载字体文件 3. 使用字体 QFontDatabase::addApplicationFont("XENOTRON.TTF" ...
- Qt:QJsonObject
0.说明 QJsonObject在逻辑上就是一个Map或Dict!记住这一点对理解它的方法.说明很有帮助. QJsonObject类封装了JSON Object. JSON Object是一个Key- ...
- Qt:QJsonValue
0.说明 QJsonValue类用于操作JSON中的各种数据. JSON是用于存储结构化数据的格式,JSON中的数据可以是六种类型: 基本类型 存储类型 bool QJsonValue::Bool d ...
- Qt:QJsonArray
0.说明 QJsonArray中存储了一系列的QJsonValue.可以向其中插入.删除QJsonValue. 一个QJsonArray可以与QVariantList互相转换.可以通过size()访问 ...
- Qt:QUrl构造时的qrc前缀
参考(按对我帮助从大到小排列): Qt内的各种路径(让人迷惑) - 鬼谷子com - 博客园 qt webengineview 加载本地资源方式 - beautifulday - 博客园 (17条消息 ...
- Qt:QDateTime、QDate、QTime与QDateTimeEdit
时间日期是经常遇到的数据类型,Qt中的时间日期类如下: QTime:时间类型,只表示时间,如15:23:13: QDate:日期类型,只表示日期,如2017-4-5: QDateTime:日期时间类型 ...
- PyQt(Python+Qt)学习随笔:QDateTimeEdit日期时间编辑部件
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 Designer输入部件中,Date/Time E ...
- Qt:正则表达式语法:
正则表达式是验证输入.从输入中提取数据以及对输入进行搜索和替换的强大工具,所谓正则表达式,regexp是一种利用模式匹配语言来描述字符串组成限制条件的方式; Qt 提供了一个Q ...
随机推荐
- libevent网络库
1.概述 libevent是一个C语言编写的.轻量级开源高性能事件通知库.作为底层网络库,已经被广泛应用(如:memcached.Vomit.Nylon.Netchat等).主要有以下几个亮点: 事件 ...
- ApacheCN - 关于我们
1.简单介绍一下 ApacheCN? ApacheCN 是 2016 年 8 月份就开始搭建网站雏形, 2017 年 6 月份正式全职来做,是国内第一个有组织性.敢带人装逼.敢真的分享.并且敢戴绿帽的 ...
- ApacheCN Kali Linux 译文集 20211020 更新
Kali Linux 秘籍 中文版 第一章 安装和启动Kali 第二章 定制 Kali Linux 第三章 高级测试环境 第四章 信息收集 第五章 漏洞评估 第六章 漏洞利用 第七章 权限提升 第八章 ...
- tcp 中 FLAGS字段,几个标识:SYN, FIN, ACK, PSH, RST, URG.
在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG. 其中,对于我们日常的分析有用的就是前面的五个字段.它们的含义是: 1.SYN表示建立 ...
- C 字符串奇数位小写字母转大写
如题 C实现 #include<stdio.h> #include<string.h> #define COUNT 20 //最大接受字符串数,可以使用动态获取空间函数优化 v ...
- 什么是Native方法 (转)
一个Native Method就是一个java调用非java代码的接口(NDK也跟这有关吗?(疑问)一个Native Method由非java语言实现 在定义一个native method时,并不提供 ...
- 【Java】equals()与hashCode()方法详解 (转)
java.lang.Object类中有两个非常重要的方法: 1 2 public boolean equals(Object obj) public int hashCode() Object类是类继 ...
- SqlServer数据库表生成C# Model实体类SQL语句——补充
在sql语句最前边加上 use[数据库名] 原链接:https://www.cnblogs.com/jhli/p/11552105.html --[SQL骚操作]SqlServer数据库表生成C ...
- 前端-Data URI Scheme
了解Data URI scheme,首要要掌握一些URI.URL的基本知识,很多做移动端上开发的同学对这两个基本概念掌握的不够,本文首先会对这两个基本概念做一些简单的介绍. 基本概念 <HTTP ...
- Maven获取resources的文件路径、读取resources的文件
路径问题一切要看编译后的文件路径 比如,源文件路径是: 而编译后的文件路径为: 也就是说,resources文件夹下的文件在编译后,都是为根目录,这种情况下,比如我要读取resources 文件夹下的 ...