PyQt4日历部件QXalendarWidget
2016-04-07 15:26
477 查看
QCalendarWidget类提供了以月为单位地日历部件。该部件允许用户以一种简单而直接的方式选择日期。
效果:
![](https://images2015.cnblogs.com/blog/918021/201604/918021-20160407152139703-1736084497.png)
该示例窗口拥有一个日历部件和一个标签部件。当前被选中的日期被显示在标签部件中。
使用self.cal = QtGui.QCalendarWidget(self)语句创建一个日历对象。
self.connect(self.cal, QtCore.SIGNAL('selectionChanged()'), self.showDate)
该语句将日历对象的selectionChanged()信号和自定义的showDate()方法相连接。这样在我们选定一个日期后,日历对象的selectionChanged()消息就会被触发,而与之相连的showDate()方法就会被调用。
def showDate(self):
date = self.cal.selectedDate()
self.label.setText(str(date.toPyDate()))
在showDate方法中,我们使用selectedDate方法获取被选择的日期。然后将其转换为字符串并显示在标签部件中。
#!/usr/bin/python # -*- coding: utf-8 -*- import sys from PyQt4 import QtGui, QtCore class Calendar(QtGui.QWidget): def __init__(self, parent = None): QtGui.QWidget.__init__(self) self.setGeometry(300, 300, 350, 300) self.setWindowTitle('Calendar') self.cal = QtGui.QCalendarWidget(self) self.cal.setGridVisible(True) self.connect(self.cal, QtCore.SIGNAL('selectionChanged()'), self.showDate) self.label = QtGui.QLabel(self) date = self.cal.selectedDate() self.label.setText(str(date.toPyDate())) vbox = QtGui.QVBoxLayout() vbox.addWidget(self.cal) vbox.addWidget(self.label) self.setLayout(vbox) def showDate(self): date = self.cal.selectedDate() self.label.setText(str(date.toPyDate())) app = QtGui.QApplication(sys.argv) cal = Calendar() cal.show() sys.exit(app.exec_())
效果:
![](https://images2015.cnblogs.com/blog/918021/201604/918021-20160407152139703-1736084497.png)
该示例窗口拥有一个日历部件和一个标签部件。当前被选中的日期被显示在标签部件中。
使用self.cal = QtGui.QCalendarWidget(self)语句创建一个日历对象。
self.connect(self.cal, QtCore.SIGNAL('selectionChanged()'), self.showDate)
该语句将日历对象的selectionChanged()信号和自定义的showDate()方法相连接。这样在我们选定一个日期后,日历对象的selectionChanged()消息就会被触发,而与之相连的showDate()方法就会被调用。
def showDate(self):
date = self.cal.selectedDate()
self.label.setText(str(date.toPyDate()))
在showDate方法中,我们使用selectedDate方法获取被选择的日期。然后将其转换为字符串并显示在标签部件中。
相关文章推荐
- Qt Windows下开机自动启动自己的程序
- Qt QDebug等重定向到文件中
- qt执行cmd命令
- QT中QProcess调用命令行的痛苦经历
- Qt之开机自启动及拥有管理员权限
- Qt录音程序
- Qt多工程多目录的编译案例
- Qt 示例学习--1. enginio qml todos
- QT工程pro设置实践(with QtCreator)----非弄的像VS一样才顺手?
- PyQt4进度条QProgressBar
- Qt 多线程与数据库操作需要注意的几点问题
- 将Qt 动态链接生成的exe及依赖dll打包方法
- Qt之VLFeat SLIC超像素分割(Cpp版)
- opencv环境在QT的配置
- QT中QPainter的使用及矩形、圆形等常见图形的画法
- PyQt4滑块QSlider、标签QLabel
- QT 多线程小结
- qt 信号槽默认参数 toggled 和 trigger的区别
- 环境配置:Qt5.5+VS2013+OpenCv3.1.0+Win7(64bit)
- ros下qt creator环境搭建