0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何用Python里面的tkinter来制作一个定时闹钟

汽车电子技术 来源:Python脚本 作者:otfsenter 2023-03-03 15:34 次阅读

图片

对于喜欢用电脑的人来说,

一旦往那里一坐,就很容易忘记时间,

接触到Python的我们,当然是要自己DIY一个闹钟啦,而且一定要醒目!

这个时候我就想到了tkinter

1- 需要的库:

  • tkinter
  • datetime
  • time

都是Python系统自带的库,这里推荐Python3

2- tkinter最简单的使用

import tkinter

root = tkinter.Tk()

root.mainloop()

导入tkinter,实例化一个Tk类,进入主循环,完成,一个窗口就创建好了,

像下面这样:

图片

3- 无边框tkinter窗口的创建

root.overrideredirect(True)

把窗口的边框给去掉,用上面这个函数,参数设置为True就可以了

root.geometry("{0}x{1}+0+0".format(
    root.winfo_screenwidth(),
    root.winfo_screenheight()))

把窗口的长宽设置为屏幕的长宽,这样就能铺满整个屏幕,醒目!

# 这里用来设定字体,字体本身为黑色,字体背景为白色

tkinter.Label(root, text=word_text, fg='black', bg='white',
              # 字体是微软雅黑, 大小是100
              font=('Microsoft YaHei', 100)
              # 把label这个控件居中
             ).place(anchor='center',
                     relx=0.5,
                     rely=0.5)

label控件一般是用来显示文字的,把label居中,

字体设置为微软雅黑,大小是100,字体颜色是黑色,label控件的颜色为白色

4- 时间的获取

import datetime

def get_time():
    hour = datetime.datetime.now().hour
    minute = datetime.datetime.now().minute    
    return hour, minute

闹钟就是在固定的时间提醒你,

所以要获取现在的时间,和我们设定的时间进行对比,

到了时间,弹出窗口,达到提醒的效果

5- 代码

import datetime
import time
import tkinter

HOUR = 20  # 几点
MINUTE = 38  # 几分

MESSAGE = "是时候睡觉了!"

TIMES = 5  # 提醒多少次
INTERVAL = 2  # 每次弹窗窗口间隔的秒数

class Reminder(object):
    def __init__(self, word_text):
        # 初始化
        self.root = tkinter.Tk()

        # 把窗口的边框给去掉
        self.root.overrideredirect(True)

        # 设置窗口的大小
        self.root.geometry("{0}x{1}+0+0".format(
            self.root.winfo_screenwidth(),
            self.root.winfo_screenheight()))

        # 设置整个窗口的背景为白色
        self.root.configure(bg='white')

        # 这里用来设定字体,字体本身为黑色,字体背景为白色
        tkinter.Label(self.root, text=word_text, fg='black', bg='white',

                      # 字体是微软雅黑, 大小是100
                      font=('Microsoft YaHei', 100)

                      # label这个控件居中
                      ).place(anchor='center',
                              relx=0.5,
                              rely=0.5)

        # 在窗口创建之后执行 self.show 这个函数
        # 这里这样处理,才能达到后面窗口显示2秒再消失的效果
        self.root.after_idle(self.show)

    def hide(self):
        """
        隐藏窗口并退出
        """
        self.root.withdraw()
        self.root.quit()

    def show(self):
        """
        显示窗口,持续2秒钟
        """
        self.root.deiconify()
        self.root.after(1000 * 2, self.hide)

    def start(self):
        """
        进入死循环,这样窗口才能一直存在
        """
        self.root.mainloop()


def get_time():
    hour = datetime.datetime.now().hour
    minute = datetime.datetime.now().minute    
    return hour, minute


def prompt():
    """
    弹出窗口
    """
    root = Reminder(MESSAGE)
    root.start()

    time.sleep(INTERVAL)


def main():
    # 这里的while循环是为了保证时间没到,脚本不会退出
    while True:

        hour, minute = get_time()

        # 判断小时数和分钟数
        if hour == HOUR and minute >= MINUTE:

            # 一般这里都是一个字母i,
            # 我这里纯粹就想循环五次
            # Python里面就可以用 _ 来替代
            for _ in range(TIMES):
                prompt()
            break

if __name__ == '__main__':
    main()
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • True
    +关注

    关注

    0

    文章

    9

    浏览量

    11947
  • 窗口
    +关注

    关注

    0

    文章

    66

    浏览量

    10848
  • 函数
    +关注

    关注

    3

    文章

    4308

    浏览量

    62445
收藏 人收藏

    评论

    相关推荐

    闹钟定时器电路

    该简单的电路可将你的闹钟变成专门的定时器。当闹铃激活之后,闹钟上的小灯就会亮。
    发表于 12-08 11:06 8458次阅读
    <b class='flag-5'>闹钟</b><b class='flag-5'>定时</b>器电路

    如何利用Python中的tkinter和MyQR制作个性二维码转换器

    利用Python中的tkinter和MyQR制作个性二维码转换器
    发表于 06-18 06:17

    何用RTC时钟去配置闹钟

    什么是RTC?RTC的工作原理是什么?RTC时钟源有哪些?如何用RTC时钟去配置闹钟呢?
    发表于 11-01 06:46

    Python是如何使用Tkinter快速创建GUI应用程序的

    Tkinter是什么?Python是如何使用Tkinter快速创建GUI应用程序的?
    发表于 12-23 07:15

    怎样去设计基于单片机的定时闹钟

    确定修改结束。用扫描方式动态显示时、分、秒,第2,4 数码管加小数点,并且要求第4数码管小数点每秒闪烁次。可以设置闹钟,到时间蜂鸣器报警难点及技巧:1、通过在定时器中断设置标志位
    发表于 01-13 08:26

    【地平线旭日X3派试用体验】40P接口程序开发体验-基于Python+Tkinter的串口调试助手

    开发,不必关注底层硬件细节,十分方便高效。本串口调试助手抛砖引玉,后面可以编写PWM,IO,IIC,SPI等总线的监控或者调试助手,配上图形界面的上位机程序,甚至可以将本板举改造为高效的总线调试工具。
    发表于 07-11 23:56

    【飞凌RK3568开发板试用体验】tkinter的第一个桌面程序

    :好象是替代pyqt;Wx :是python当中居中的图形化,学习结构很清晰Pywin :是python windows 下的模块,摄像头控制(opencv),常用于外挂
    发表于 12-03 07:36

    基于单片机的定时闹钟设计

    基于51单片机的定时闹钟设计
    发表于 12-14 15:07 22次下载

    何用Python制作自动发送程序

    怎么办呢?是时候让Python登场了! Python登场 这次我们一个自动发送微信的程序,在深夜十二点的时候给女朋友发去消息,也算是尽了
    的头像 发表于 11-22 09:28 1462次阅读

    使用555定时制作些乐器

    电子发烧友网站提供《使用555定时制作些乐器.zip》资料免费下载
    发表于 11-16 09:56 1次下载
    使用555<b class='flag-5'>定时</b>器<b class='flag-5'>来</b><b class='flag-5'>制作</b><b class='flag-5'>一</b>些乐器

    使用Arduino和Python Tkinter进行RGB Led控制

    电子发烧友网站提供《使用Arduino和Python Tkinter进行RGB Led控制.zip》资料免费下载
    发表于 11-30 12:00 0次下载
    使用Arduino和<b class='flag-5'>Python</b> <b class='flag-5'>Tkinter</b>进行RGB Led控制

    如何把Python脚本集成到GUI工具包-Tkinter

    Tkinter(即 tk interface,简称“Tk”)本质上是对 Tcl/Tk 软件包的 Python 接口封装,它是 Python 官方推荐的 GUI 工具包,属于 Python
    的头像 发表于 05-05 15:02 626次阅读
    如何把<b class='flag-5'>Python</b>脚本集成到GUI工具包-<b class='flag-5'>Tkinter</b>

    Python写机器人上位机

    Python写GUI的插件比较多,常用的有Tkinter、pyqt5,本将使用pyqt5写机器人的上位机。TkinterPython的标准 GUI 库,是
    发表于 05-09 11:10 0次下载
    <b class='flag-5'>Python</b>写机器人上位机

    何用Python实现文件系统的操作功能

    就来介绍下如何用 Python 实现这些功能 输出当前的路径 我们可以通过 Python 当中的 OS 库
    的头像 发表于 10-30 14:27 389次阅读
    如<b class='flag-5'>何用</b><b class='flag-5'>Python</b><b class='flag-5'>来</b>实现文件系统的操作功能

    python如何打开gui界面

    Python中打开GUI界面,可以使用多种库或框架,如Tkinter、PyQt、wxPython等。下面将详细介绍如何使用Tkinter创建
    的头像 发表于 11-22 14:12 943次阅读