PyQt5:QCalendarWidget日历部件(27)

原创 2016年06月01日 00:51:37

学习《PyQt4入门指南 PDF中文版.pdf 》笔记

QCalendarWidget类提供了以月为单位的日历部件。该部件允许用户以一种简单而直接的方式选择日期。

<span style="font-size:12px;">#!/usr/bin/python
# calendar.py

from PyQt5.QtWidgets import QApplication, QCalendarWidget, QLabel, QVBoxLayout
from PyQt5 import QtWidgets
from PyQt5.QtCore import Qt, QBasicTimer

class Calendar(QtWidgets.QWidget):
    def __init__(self, parent= None):
        QtWidgets.QWidget.__init__(self)
        
        self.setGeometry(300, 300, 350, 300)
        self.setWindowTitle('Calendar')
        self.cal = QCalendarWidget(self)
        self.cal.setGridVisible(True)
        self.cal.selectionChanged.connect(self.showDate)
        self.label = QLabel(self)
        date = self.cal.selectedDate()
        self.label.setText(str(date.toPyDate()))
        vbox = 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()))

if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)
    qb = Calendar()
    qb.show()
    sys.exit(app.exec_())</span>

该示例窗口拥有一个日历部件和一个标签部件。当前被选中的日期被显示在标签部件中。

         使用self.cal = QCalendarWidget(self)语句创建一个日历对象。

         self.cal.selectionChanged.connect(self.showDate)  语句将日历对象的selectionChanged()信号和自定义的showDate()方法相连接。这样在我们选定一个日期后,日历对象的selectionChanged()消息就会触发,而与之相连的showDate()方法就会被调用。

         defshowDate(self):

         date = self.cal.selectedDate()

         self.label.setText(str(date.toPyDate()))

         在showDate方法中,我们使用selectedDate方法获取被选择的日期。然后将其转换为字符串并显示在标签部件中。


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

PyQt5教程(六)——控件

控件是应用程序的基础构件。PyQt5具有类目广泛的各种控件,包括按钮、复选框、滑动条、列表框等。在本节教程中,我们将学习几个很有用的控件:QCheckBox、ToggleButton、QSlider、...

PyQt5教程-15-日历控件

QCalendarWidget 是日历控件。它允许用户以简单和直观的方式选择日期。#!/usr/bin/python3 # -*- coding: utf-8 -*-""" PyQt5 教程这个例子使...

PyQt5的学习之路(七)

复选框#! /usr/bin/python # -*- coding: utf-8 -*-import sys from PyQt5.QtWidgets import QApplication, QW...

Qt浅谈之六:日历(QCalendarWidget)

Qt的demo中有CalendarWidget的里,本程序将其国际化,并随时隐藏不必要的设计部件,根据网上的例子增加了一些配置按钮和公历对农历的一些转换,并修复了一些故障。主要目的是掌握其布局的紧凑,...

QCalendar的使用:实现弹出日历选择日期的例子

选择后DateEdit框内显示的是从弹出的日历中选择的Date 具体的实现代码: //构造函数里设置日历 //首先使calendarWidget隐藏。注:calendarWidget是calen...

PyQt5 widgets

组件是应用程序的基本构建块。 PyQt5有各种各样的组件件,包括按钮,复选框,滑块或列表框。 在本教程的这一节中,我们将描述几个有用的组件:QCheckBox,ToggleButton,QSlider...

[C#]datagridView实现的数据联动时selectionChanged事件发生多次的解决方法

Q:对于两个datagridView实现的数据联动,主datagridView绑定数据时selectionChanged事件发生多次,什么原因,如何避免? A:selectionChanged事件M...
  • ltolll
  • ltolll
  • 2014年01月21日 10:49
  • 7395

Qt CalendarWidget的若干设置 设置工作日背景

connect(calendarButton,SIGNAL(clicked()),this,SLOT(showcalendar())); void Hospital::setdate() ...

angularjs-ui-calendar日历插件的使用

公司要求使用angular-ui-calendar做移动端的一个日历模块,之前对angular的接触也不是很多,刚开始看了看真是头都大了,不过现在搞清楚之后感觉真的是so easy。分享自己的一些使用...

简单的DatePicker样式设置

最近在搞一个关于日期选择DatePicker的PopupWindow需求,默认拖出来的空间都是年/月  可以上下滑动选择,可是日那块就是Calendar板的样式,网上搜了一大堆 ,竟然发现都是一样的,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PyQt5:QCalendarWidget日历部件(27)
举报原因:
原因补充:

(最多只允许输入30个字)