首页 > 软件开发 > PYTHON >

PyQt5-如何操作日历控件的信号操作

来源:互联网 2023-03-16 19:18:12 248

日历控件信号的操作,举例自制一个日历记事本程序。oks办公区 - 实用经验教程分享!

1.控件设置:

  • 1

    ①导入模块,创建应用程序对象,顶层窗口和初始值oks办公区 - 实用经验教程分享!

    ②子控件:预备按钮,日历控件,文本输入框控件,及初始值。oks办公区 - 实用经验教程分享!

    PyQt5-如何操作日历控件的信号操作oks办公区 - 实用经验教程分享!

  • 1相关内容未经许可获取自百度经验
  • 2.日历控件信号测试:

  • 1

    激活信号:activated(QDate);oks办公区 - 实用经验教程分享!

    ①双击日期,或对选种的日期按下回车键,会向外发送信号。oks办公区 - 实用经验教程分享!

    ②向外传递一个参数QDate对象,即选择的日期。oks办公区 - 实用经验教程分享!

    如图例,使用一个匿名函数获取信号,并展示在文本框内。oks办公区 - 实用经验教程分享!

    PyQt5-如何操作日历控件的信号操作oks办公区 - 实用经验教程分享!

  • 2

    点击信号:clicked(QDate):oks办公区 - 实用经验教程分享!

    ①单击日期,向外发送信号。oks办公区 - 实用经验教程分享!

    ②向外传递一个参数QDate对象,即点击的日期。oks办公区 - 实用经验教程分享!

    如图例,使用一个匿名函数获取信号,并展示在文本框内。oks办公区 - 实用经验教程分享!

    PyQt5-如何操作日历控件的信号操作oks办公区 - 实用经验教程分享!

  • 3

    月份翻页信号:currentPageChanged(int, int);oks办公区 - 实用经验教程分享!

    ①当前的月份页发生改变时向外传递信号。oks办公区 - 实用经验教程分享!

    ②传递两个整形值参数,即年份,和月份。oks办公区 - 实用经验教程分享!

    如图例,使用一个匿名函数获取信号,并展示在文本框内。oks办公区 - 实用经验教程分享!

    PyQt5-如何操作日历控件的信号操作oks办公区 - 实用经验教程分享!

  • 4

    选择日期改变时发送信号:selectionChanged();oks办公区 - 实用经验教程分享!

    ①当选择的日期发生改变时,向外传递信号,oks办公区 - 实用经验教程分享!

    ②但不发送任何值。oks办公区 - 实用经验教程分享!

    如图例,使用一个匿名函数获取信号后,打印一段字符串。

    oks办公区 - 实用经验教程分享!

    oks办公区 - 实用经验教程分享!

    PyQt5-如何操作日历控件的信号操作oks办公区 - 实用经验教程分享!

  • 3.举例-日历记事日志:

  • 1

    要求:oks办公区 - 实用经验教程分享!

    ---打开日历,创建当天的记事本,oks办公区 - 实用经验教程分享!

    ---日期改变后自动保存当前的记录,创建新一天的记事本;oks办公区 - 实用经验教程分享!

    ① 在原来代码的基础上,创建一个保存文件的文件夹;oks办公区 - 实用经验教程分享!

    ②定义一个方法,获取选择的日期的文件路径;oks办公区 - 实用经验教程分享!

    PyQt5-如何操作日历控件的信号操作oks办公区 - 实用经验教程分享!

  • 2

    定义两个方法,向文本编辑框插入时间格式化字符串,分别是开始时间和结束时间。oks办公区 - 实用经验教程分享!

    PyQt5-如何操作日历控件的信号操作oks办公区 - 实用经验教程分享!

  • 3

    定义一个方法 mk_file(self),用来创建文件;oks办公区 - 实用经验教程分享!

    ①如果文件不存在,就创建当日的文件;oks办公区 - 实用经验教程分享!

    ②如果存在就读取内容,显示在文本编辑框。oks办公区 - 实用经验教程分享!

    ③在主窗口初始化时调用此方法,以便在程序启动时,就创建当日的文件。oks办公区 - 实用经验教程分享!

    PyQt5-如何操作日历控件的信号操作oks办公区 - 实用经验教程分享!

  • 4

    定义一个方法save_file(self),oks办公区 - 实用经验教程分享!

    ①用来在日期更改时,自动保存更改前的日期文件。oks办公区 - 实用经验教程分享!

    ②调用创建文件方法 mk_file(self),将变更后选择的日期读入到文本编辑框。oks办公区 - 实用经验教程分享!

    ③将信号selectionChanged() 连接 save_file(self);oks办公区 - 实用经验教程分享!

    如此就是实现了,更改日期前自动文本框的文件,并显示选择的日期文件。oks办公区 - 实用经验教程分享!

    PyQt5-如何操作日历控件的信号操作oks办公区 - 实用经验教程分享!

  • 5

    将“保存文档”按钮clicked信号连接 save_file(self),以便点击按钮时随时保存当前的文本框内容。oks办公区 - 实用经验教程分享!

    PyQt5-如何操作日历控件的信号操作oks办公区 - 实用经验教程分享!

  • 6

    最后重写程序关闭时间,closeEvent(self,e):关闭窗口时自动保存文本框文件。oks办公区 - 实用经验教程分享!

    PyQt5-如何操作日历控件的信号操作oks办公区 - 实用经验教程分享!

  • 4.编译代码(具体步骤看下面连接)

  • 1

    ①打开cmd,转到文件所在的文件夹,oks办公区 - 实用经验教程分享!

    ②输入命令:pyinstaller -F -w 文件名;按回车键开始编译。oks办公区 - 实用经验教程分享!

    2自学Python(2,第一个程序)oks办公区 - 实用经验教程分享!

    PyQt5-如何操作日历控件的信号操作oks办公区 - 实用经验教程分享!

  • 2

    编译成功后生成 dist文件夹下的 .exe 可执行文件。oks办公区 - 实用经验教程分享!

    PyQt5-如何操作日历控件的信号操作oks办公区 - 实用经验教程分享!

  • 3

    双击运行程序,一个自治的 笔记本日志就运行起来了。(最好放在桌面)。oks办公区 - 实用经验教程分享!

    更多功能可以添加,自由发挥,是个练习python基础知识的好方法。oks办公区 - 实用经验教程分享!

    PyQt5-如何操作日历控件的信号操作oks办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!oks办公区 - 实用经验教程分享!


    标签: python

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码