精华内容
下载资源
问答
  • 2021-07-21 16:07:26
       QDateTimeEdit 或 QCalendarWidget 不好操作,美化界面时都比较难实现,很多效果实现不了,就有了想要自定义一个日期选择的控制,操作简单,界面可以结合整体界面的样式通过QSS美化。
    

    一、demo 展式
    在这里插入图片描述在这里插入图片描述
    二、控制源码及Demo、样式下载地址:
    https://download.csdn.net/download/liang520999/20399836

    更多相关内容
  • QDateTimeEdit 或 QCalendarWidget 不好操作,美化界面时都比较难实现,很多效果实现不了,就有了想要自定义一个日期选择的控制,操作简单,界面可以结合整体界面的样式通过QSS美化。提供自定义的日期控制源码、demo...
  • qt 定制日期时间控件

    2017-11-21 14:38:24
    定制QDateTimeEdit控件,采用qt5.9vs版编译,下拉选择年份月份
  • qt自定义双日历时间范围选择控件。 下载内容包含: 1、控件源代码(qtcreator工程源码) 2、Windows下32位及64位动态库(不必修改样式时可直接使用
  • Qt dateEdit 选择日期控件

    千次阅读 2021-06-27 23:21:20
    Qt Designer dateEdit 选择日期组件的一些小tips 这是QT Designer设计的一整个布局中的一部分,要求输入从UI界面获取一个日期选择了dateEdit类实现,效果如下: self.label_2 = QtWidgets.QLabel(self....

    课设要求图形化界面,使用 Qt Designer 设计了UI,PyQt5转为.py文件,并在此基础上进行了一些UI方面改进。笔记一则。

    控件UI设计

    • 初始需求就是设计一个能够输入日期的控件。确定为组件dateEdit,效果如下:
      在这里插入图片描述
    • 设置可选择日期范围:
      加入setMinimumDatesetMaximumDate方法;
      其内参数为一个QDate.currentDate()的返回值,并可以通过.addDays(-365)方法进行日期加减操作。
      实际使用完整控件代码如下,示例查询范围为三年前至今。
    • 设置日历样式直观选择
      加入 setCalendarPopup(True) 方法,并将参数设为True。
      效果如下:
      已带有日历控件

    部分代码如下

     self.label_2 = QtWidgets.QLabel(self.verticalLayoutWidget_2)
     self.label_2.setObjectName("label_2")
     self.horizontalLayout.addWidget(self.label_2, 0, QtCore.Qt.AlignHCenter)
     self.dateEdit = QtWidgets.QDateEdit(self.verticalLayoutWidget_2)
     self.dateEdit.setObjectName("dateEdit")
     self.horizontalLayout.addWidget(self.dateEdit)
     # 设置日期最大值与最小值,在当前日期的基础上,可查三年前至当天
     self.dateEdit.setMinimumDate(QDate.currentDate().addDays(-365 * 3))
     self.dateEdit.setMaximumDate(QDate.currentDate())
     # 设置日历控件允许弹出
     self.dateEdit.setCalendarPopup(True)
    

    控件输入读取

    • 输入日期的读取:
      使用 self.dateEdit.date() 方法;
      返回:date类型的属性值
      转为string类型:使用toString()方法
      得到2021-07-01形式:toString()方法参数设为Qt.ISODate
    self.dateChoice = self.dateEdit.date()  # 选择日期
    print(self.dateChoice,type(self.dateChoice))
    
    ##输出
    ##PyQt5.QtCore.QDate(2018, 7, 1) <class 'PyQt5.QtCore.QDate'>
    
    • 使用toString()方法
    self.dateChoice = self.dateEdit.date().toString()  # 选择日期
    print(self.dateChoice,type(self.dateChoice))
    
    ##输出
    ##周日 7月 1 2018 <class 'str'>
    
    • toString()方法参数设定为Qt.ISODate即可得到 YYYY-mm-dd形式的字符串表达
    self.dateChoice = self.dateEdit.date().toString(Qt.ISODate)  # 选择日期
    print(self.dateChoice,type(self.dateChoice))
    
    ##输出
    ##2018-07-01 <class 'str'>
    
    • toString()方法及其参数的选择:
      未放过多精力查阅,但以上参数确实可行。挖个坑吧。
    • ISODate 类型:
      。。。
    展开全文
  • QT自带的时间编辑控件有QDateTimeEdit QDateEdit QTimeEdit,其中只有QDateTimeEdit支持使用日历选择日期,且都不支持直接选择时间。 由于有需求直接使用下拉栏选择时间,且前期都项目都使用了QDateTimeEdit,为了...

    QT自带的时间编辑控件有QDateTimeEdit QDateEdit QTimeEdit,其中只有QDateTimeEdit支持使用日历选择日期,且都不支持直接选择时间。
    由于有需求直接使用下拉栏选择时间,且前期都项目都使用了QDateTimeEdit,为了方便扩展,继承QDateTimeEdit类完善了下拉栏的时间选择。同时兼容QDateEdit和QTimeEdit,下拉菜单的内容根据显示的内容自适应。
    样式如下:

    在这里插入图片描述
    在这里插入图片描述
    在QDateTimeEdit的基础上提升为ZDateTimeEdit(自己的类),根据displayFormat()自适应的显示下拉菜单。
    同时有ZDateEdit和ZTimeEdit支持QDateEdit个QTimeEdit的提升,效果一致。

    下拉菜单的样式使用QSS文件配置,可以灵活的配置。

    控件还支持农历显示。

    源码下载地址:
    https://download.csdn.net/download/jain_yu/12115281

    展开全文
  • Qt时间控件类QDateTimeEdit,QTimeEdit,QDateEdit,QCalendarWidgetQDateTimeEdit属性datetime:date:time:maximumDateTime、minimumDateTime:maximumDate、minimumDate:maximumTime、minimumTime:...


    Qt中有专门用于日期、时间编辑和显示的界面组件,介绍如下。
    QTimeEdit: 编辑和显示时间的组件。
    QDateEdit:编辑和显示日期的组件。
    QDateTimeEdit:编辑和显示日期时间的组件。
    QCalendarWidget:一个用日历形式选择日期的组件。

    QDateTimeEdit

    QDateEdit和QTimeEdit都从QDateTimeEdit继承而来,实现针对日期或时间的特定显示功能。实际上,QDateEdit和QTimeEdit的显示功能都可以通过QDateTimeEdit实现,只需设置好属性即可。

    属性

    在这里插入图片描述
    Properties:

    calendarPopup : bool
    currentSection : Section
    currentSectionIndex : int
    date : QDate
    dateTime : QDateTime
    displayFormat : QString
    displayedSections : const Sections
    maximumDate : QDate
    maximumDateTime : QDateTime
    maximumTime : QTime
    minimumDate : QDate
    minimumDateTime : QDateTime
    minimumTime : QTime
    sectionCount : const int
    time : QTime
    timeSpec : Qt::TimeSpec

    datetime:

    日期时间。

    date:

    日期,设置datetime时会自动改变date,同样,设置date时,也会自动改变datetime里的日期。

    time:

    时间,设置datetime时会自动改变time,同样,设置time时,也会自动改变datetime里的时间。

    maximumDateTime、minimumDateTime:

    最大、最小日期时间。

    maximumDate、minimumDate:

    最大、最小日期。

    maximumTime、minimumTime:

    最大、最小时间。

    currentSection:

    当前输入光标所在的时间日期数据段,是枚举类型QDateTimeEdit::Section。QDateTimeEdit显示日期时间数据时分为多个段,单击编辑框右侧的上下按钮可修改当前段的值。如输入光标在YearSection段,就修改“年”的值。

    currentSectionIndex:

    用序号表示的输入光标所在的段。

    calendarPopup:

    是否允许弹出一个日历选择框。当取值为true时,右侧的输入按钮变成与QComboBox类似的下拉按钮,单击按钮时出现一个日历选择框,用于在日历上选择日期。对于QTimeEdit,此属性无效。

    displayFormat:

    显示格式,日期时间数据的显示格式,例如设置为“yyyy-MM-dd HH:mm:ss”,一个日期时间数据就显示为“2016-11-02 08:23:46”。

    用于日期显示的格式符及其意义

    字符意义
    d天,不补零显示,1-31
    dd天,补零显示,01-31
    M月,不补零显示,1-12
    MM月,补零显示,01-12
    yy年,两位显示,00-99
    yyyy年,4位数字显示,如2016
    h小时,不补零,0-23或1-12(如果显示AM/PM)
    hh小时,补零2位显示,00-23或01-12(如果显示AM/PM)
    H小时,不补零,0-23(即使显示AM/PM)
    HH小时,补零显示,00-23(即使显示AM/PM)
    m分钟,不补零,0-59
    mm分钟,补零显示,00-59
    z毫秒,不补零,0-999
    zzz毫秒,补零3位显示,000-999
    AP或A使用AM/pm显示
    ap或a使用am/pm显示

    时间日期转换为字符串

    使用了QDateTime的toString()函数,分别用不同的格式显示时间、日期、日期时间。

    //QString QDateTime::toString(const QString &format) const
    ui->editTime->setText(curDateTime.toString("hh:mm:ss")); 
    ui->editDate->setText(curDateTime.toString("yyyy-MM-dd")); 
    ui->editDateTime->setText(curDateTime.toString("yyyy-MM-dd hh:mm:ss"));
    

    字符串转换为日期时间

    同样的,也可以将字符串转换为QTime、QDate或QDateTime类型,使用静态函数QDateTime:: fromString(),其函数原型为:

    QDateTime QDateTime::fromString(const QString &string, const QString &format
    
    datetime=QDateTime::fromString(str,"yyyy-MM-dd hh:mm:ss");
    

    QTimeEdit

    QDateEdit和QTimeEdit都从QDateTimeEdit继承而来,实现针对日期或时间的特定显示功能。

    属性:time

    在这里插入图片描述

    QDateEdit

    QDateEdit和QTimeEdit都从QDateTimeEdit继承而来,实现针对日期或时间的特定显示功能。

    属性:date

    在这里插入图片描述

    QCalendarWidget日历组件

    属性:

    在这里插入图片描述
    Properties:

    dateEditAcceptDelay : int
    dateEditEnabled : bool
    firstDayOfWeek : Qt::DayOfWeek
    gridVisible : bool
    horizontalHeaderFormat : HorizontalHeaderFormat
    maximumDate : QDate
    minimumDate : QDate
    navigationBarVisible : bool
    selectedDate : QDate
    selectionMode : SelectionMode
    verticalHeaderFormat : VerticalHeaderFormat

    selectedDate : QDate

    当前日历的日期。

    maximumDate、minimumDate : QDate

    最大日期和最小日期。

    firstDayOfWeek : Qt::DayOfWeek

    设置日期周的开始第一天是周几。

    gridVisible : bool

    是否有网格线。

    selectionMode : SelectionMode

    此属性保存用户可以在日历中进行的选择类型 当此属性设置为 SingleSelection 时,用户可以使用鼠标或键盘在允许的最小和最大日期范围内选择一个日期。当该属性设置为 NoSelection 时,用户将无法选择日期,但仍可以通过编程方式选择日期。请注意,该属性设置为 NoSelection 时选择的日期仍将是日历的选定日期。默认值为 SingleSelection。

    verticalHeaderFormat : VerticalHeaderFormat

    设置水平头的显示的格式。

    horizontalHeaderFormat :HorizontalHeaderFormat

    设置显示一年的第几周。

    navigationBarVisible : bool

    是否显示月份和年份。

    dateEditAcceptDelay : int

    dateEditEnabled : bool

    展开全文
  • QT自定义日期时间设置窗体,slider time windows鼠标滑动选择设置日期时间,button label等控制窗体组成。
  • 日期时刻设定整合。日历点选日期,时分秒滚动式设定时刻,可鼠标拖动,可滚轮滚动,可鼠标点选。qt5.0
  • 分享一个Qt实现的滑动设置自定义控件,常用于设置时间,还有一些其他的类似设置; 没有积分的朋友私信我
  • 基于QT的多种自定义控件,包括IP地址输入框,日期时间滚动选择框等等
  • Qt时间日期控件的设置

    千次阅读 2020-10-20 20:21:08
    一、dateTimeEdit格式的修改 ...二、Qt显示当前时间 以代码为例,以下代码用到了Qt5中的Lambda 表达式: //设置时间显示的字体 QPalette palette; palette.setColor(QPalette::WindowText,Qt::red);
  • qt实现简易日历 通过qt编程 来实现滚动条的移动
  • qt日历控件

    2017-05-08 10:39:28
    qt5.7.0写的一个简单的日历控件代码
  • Qt日历控件使用实例

    2019-04-09 09:24:38
    qt学习过程中使用日历控件做的小程序,可以显示万年历,查看日期
  • Qt QML实现时间日期选择控件

    千次阅读 2019-12-17 15:25:49
    先看图 打开界面,会自动获取到当前...以下是该控件功能的主要代码 import QtQuick 2.0 import QtQuick.Extras 1.4 import QtQuick.Controls 1.4 import QtQuick.Layouts 1.3 import QtQuick.Controls.Styles ...
  • 很多人都对QCalendarWidget无法设置样式跟颜色,这个资源自定义了QCalendarWidget的颜色并集成了日历跟时间选择控件
  • 完全自绘制日历控件日期位置和日期数字都是在内容中计算,之前已经有两个关于自绘制日历的demo,但这个demo功能有所增强,主要是支持月份切换,记录当前选中日期
  • Qt实现时间范围选择

    千次阅读 2021-11-21 16:00:41
    以前我们写过一篇利用Qt ScrollBar实现滚动屏时间选择器的文章,也写过一篇QComboBox自定义设置 - 下拉列表自定义为表格的文章,今天我们就利用前面已经完成的这两篇文章实现一个时间范围选择控件。 首先我们看下...
  • painter->setPen(QPen(QBrush(linearGradient), 5,Qt::SolidLine,Qt::RoundCap,Qt::RoundJoin));//渐变线 painter->drawLine(QPoint(0,0),QPoint(0,-8)); painter->drawLine(QPoint(0,0),QPoint(8,0)); painter->...
  • 控件基于QT设计,单击日历设置时间范围起点,再次单击日历设置时间范围终点; 当起止时间为同一天时,所选日期右上角显示“单”字样: 控件设计说明: 控件基于QT中QDialog控件: 1、 由两基本QCalendarWidget拼接...
  • qml实现简单的时间选择控件
  • Qt之QDateEdit 日期控件

    2021-12-28 16:14:06
    Qt之QDateEdit 日期控件
  • 基于QT的滑动选择器,提供时间日期选择实例,是学习的好例子
  • 文章目录一、概述二、效果展示三、...很早很早以前,写过几篇关于日历的文章,不同于Qt原生的控件,这些控件都是博主使用自绘的方式进行完成,因此可定制性更强一些,感兴趣的可以参考自定义日历(一)、自定义日历(二...
  • qt_滚动式日期时刻设定控件,qt时间控件,CC++源码.zip.zip
  • 一、效果 二、主要源码 2.1日历控件(calendarWidget) //窗口尺寸 ...setText("选择日期"); //标签以及编辑框位置 calendar_label->setGeometry(QRect(100,70,100,25)); calendar_Edit.
  • QML日期选择控件

    2021-01-07 13:33:38
    Qml中没有现成的日期时间选择控件,自己做了个,代码实现较为简单,没有过多需要介绍的,控件加载会自动获取当前日期,转动拨盘会根据当前年、月匹配当月天数,代码如下,直接复制到Qml中加载就可以使用了
  • textRect = painter.boundingRect(QRect(0,centerFrayLineRect.center().y(),0,0),Qt::AlignLeft | Qt::AlignVCenter,showString); auto efficientAllWidth = rect.width() - textRect.width(); auto ...
  • //日期/时间显示 QTimer *timer = new QTimer(this); connect(timer,SIGNAL(timeout()),this,SLOT(timerUpdate())); timer->start(1000); 定义成员函数timerUpdate()实现用户界面显示时间: vo...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,831
精华内容 732
关键字:

qt日期时间选择控件