下面我们实现日期时间框的添加,表示日期时间的文本框可以使用QtWidgets控件下的 QDateEdit() , QTimeEdit() , QDateTime() 三个方法实现。

  1,使用QDateEdit() 我们可以得到一个只显示日期的文本框,在文本框中我们可以手动输入日期,也可以单击右侧的上、下按钮设置日期。不定义默认值的话,日期文边框的例的默认值为2000-01-01

    #创建日期文本框
self.date = QtWidgets.QDateEdit(w)
#调整日期文本框的位置大小
self.date.setGeometry(QtCore.QRect(150,30,160,30))
#设置日期显示的格式
self.date.setDisplayFormat("yyyy-MM-dd")

  效果图如下

  另外,我们修改显示的默认值为当前日期,添加以下代码

    now_day = time.strftime("%Y-%m-%d",time.localtime())
self.date.setDate(QtCore.QDate.fromString(now_day, 'yyyy-MM-dd'))

  效果图如下

  我们还可以使用日历插件获取日期,只需要将日期框的 calendarPopup 属性值为True 即可,代码代码如下

    self.date.setCalendarPopup(True)

  效果图如下

  2,QTimeEdit() 可以创建一个时间的文本框,代码如下

    self.label1 = QtWidgets.QLabel(w)
self.label1.setGeometry(QtCore.QRect(100, 60, 120, 45))
self.label1.setFont(QtGui.QFont("Roman times",14))
self.label1.setText("时间:")
#创建一个时间框
self.time = QtWidgets.QTimeEdit(w)
self.time.setGeometry(QtCore.QRect(150,65,160,30))
self.time.setDisplayFormat("hh:mm:ss")
#获取并定义当前时间
now_time = time.strftime("%H:%M:%S",time.localtime())
self.time.setTime(QtCore.QTime.fromString(now_time, 'hh:mm:ss'))

  效果图如下

  3,上边的设置日期和时间是分开的,操作起来会比较繁琐,这时我们就可以使用 QDateTimeEdit() 方法了

    self.label1 = QtWidgets.QLabel(w)
self.label1.setGeometry(QtCore.QRect(60, 60, 120, 45))
self.label1.setFont(QtGui.QFont("Roman times",14))
self.label1.setText("日期时间:") self.time = QtWidgets.QDateTimeEdit(w)
self.time.setGeometry(QtCore.QRect(150,65,160,30))
self.time.setDisplayFormat("yyyy-MM-dd hh:mm:ss")
#设置使用日历控件
self.time.setCalendarPopup(True)
#获取并定义当前时间
now_time = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
self.time.setDateTime(QtCore.QDateTime.fromString(now_time, 'yyyy-MM-dd hh:mm:ss'))

  效果图如下

Python 使用Qt进行开发(三)的更多相关文章

  1. Qt计算器开发(三):执行效果及项目总结

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/guodongxiaren/article/details/26046543 执行效果 project ...

  2. Python 使用Qt进行开发(二)

    上次简单实现了显示窗口,下面我们在窗口中加入一些部件. 1,我们在窗口中使用 setToolTip() 方法添加一个文本提示,在窗口中鼠标暂停几秒即可显示该文本信息. class test(): de ...

  3. Qt计算器开发(二):信号槽实现数学表达式合法性检查

    表达式的合法性 由于我们的计算器不是单步计算的,所以我们能够一次性输入一个长表达式.然而假设用户输入的长表达式不合法的话,那么就会引发灾难.所以有必要对于用户的输入做一个限制. 一些限制举例: 比方, ...

  4. Python服务器开发三:Socket

    Python服务器开发三:Socket   socket是操作系统中I/O的延续,它可以使进程和机器之间的通信成为可能.socket可以看成一个标准的文件描述符.不同的是文件需要用open()函数打开 ...

  5. Qt+ECharts开发笔记(三):ECharts的柱状图介绍、基础使用和Qt封装Demo

    前言   上一篇成功是EChart随着Qt窗口变化而变化,本篇将开始正式介绍柱状图介绍.基础使用,并将其封装一层Qt.  本篇的demo实现了隐藏js代码的方式,实现了一个条形图的基本交互方式,即Qt ...

  6. 进击的Python【第六章】:Python的高级应用(三)面向对象编程

    Python的高级应用(三)面向对象编程 本章学习要点: 面向对象编程介绍 面向对象与面向过程编程的区别 为什么要用面向对象编程思想 面向对象的相关概念 一.面向对象编程介绍 面向对象程序设计(英语: ...

  7. 转:Qt 嵌入式开发环境搭建

    地址: http://www.cnblogs.com/lishixian/articles/3013897.html         作者:lsx_007 这里主要是记录了自己在搭建嵌入式开发环境时阅 ...

  8. 老李分享:使用 Python 的 Socket 模块开发 UDP 扫描工具

    老李分享:使用 Python 的 Socket 模块开发 UDP 扫描工具 poptest是业内唯一的测试开发工程师培训机构,测试开发工程师主要是为测试服务开发测试工具,在工作中要求你做网络级别的安全 ...

  9. 《Flask Web开发——基于Python的Web应用开发实践》一字一句上机实践(上)

    目录 前言 第1章 安装 第2章 程序的基本结构 第3章 模板 第4章 Web表单 第5章 数据库 第6章 电子邮件 第7章 大型程序的结构   前言 学习Python也有一个半月时间了,学到现在感觉 ...

随机推荐

  1. springmvc中的参数接收

    import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import ...

  2. CentOS7 yum安装配置 +redis主从配置

    一.安装必要包 yum install gcc 二.linux下安装 #下载 wget http://download.redis.io/releases/redis-3.0.0.tar.gz tar ...

  3. Win7 Linux双系统,恢复Linux启动项

    在一台电脑上安装Win7 Centos双系统,先安装Win,再安装Centos7.装完后,丢失Linux启动项. 恢复步骤,下载EasyBCD,添加新条目,操作系统选择Linux/BSD,类型选择GR ...

  4. [转载](转)ISE中ROM初始化文件(.coe)的建立

    原文地址:(转)ISE中ROM初始化文件(.coe)的建立作者:老徐 UltraEdit 对于ROM模块,主要是生成相应的.coe文件. 1.在Matlab中生成正余弦波形的浮点值,并量化为16bit ...

  5. 认识 android-job

    简评: Android 实现后台任务的最佳实践. 对于现在的应用来说,在应用生命周期之外运行一些后台任务可以说已经是一项必不可少的需求了.这些任务可能是在某个时间点提醒用户什么事情或同步本地数据到服务 ...

  6. MYSQL利用merge存储引擎来实现分表

      创建user1和user2两个分表 建表语句如下:只是表名不一样,其他字段信息及主键一致. CREATE TABLE IF NOT EXISTS user1( id INT(11) NOT NUL ...

  7. [COGS 755]山海经:线段树

    网上似乎这道题的题解很少?写一个吧 我跟这道题的渊源追溯到了上个学期刚刚学线段树的那一天... 当时线段树专题前边的题都是一些板子就不一会就水过了,然后就看到了最后一题的它:山海经 那一个上午,我竭尽 ...

  8. 浅谈redis分布式锁用法

    使用redis的setnx命令进行实现 @Component @Slf4j public class RedisLock { @Autowired private StringRedisTemplat ...

  9. ansj分词器使用记录

    //最简单实例 String ruiec = “分词测试123456100名”; //剔除指定的分词 s.insertStopWords("100名"); //剔除标点符号(w) ...

  10. pyqt5-信号与槽

    个人理解:pyqt5的信号就是C++中事件,比如鼠标单击事件;pyqt5中的槽就是c++事件函数,比如单击之后要去执行的函数 例子一 一个信号连接一个槽 import sysfrom PyQt5.Qt ...