0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何用Python里面的tkinter來制作一個定時鬧鐘

汽車電子技術(shù) ? 來源:Python腳本 ? 作者:otfsenter ? 2023-03-03 15:34 ? 次閱讀

圖片

對于喜歡用電腦的人來說,

一旦往那里一坐,就很容易忘記時間,

接觸到Python的我們,當然是要自己DIY一個鬧鐘啦,而且一定要醒目!

這個時候我就想到了tkinter

1- 需要的庫:

  • tkinter
  • datetime
  • time

都是Python系統(tǒng)自帶的庫,這里推薦Python3

2- tkinter最簡單的使用

import tkinter

root = tkinter.Tk()

root.mainloop()

導(dǎo)入tkinter,實例化一個Tk類,進入主循環(huán),完成,一個窗口就創(chuàng)建好了,

像下面這樣:

圖片

3- 無邊框tkinter窗口的創(chuàng)建

root.overrideredirect(True)

把窗口的邊框給去掉,用上面這個函數(shù),參數(shù)設(shè)置為True就可以了

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

把窗口的長寬設(shè)置為屏幕的長寬,這樣就能鋪滿整個屏幕,醒目!

# 這里用來設(shè)定字體,字體本身為黑色,字體背景為白色

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居中,

字體設(shè)置為微軟雅黑,大小是100,字體顏色是黑色,label控件的顏色為白色

4- 時間的獲取

import datetime

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

鬧鐘就是在固定的時間提醒你,

所以要獲取現(xiàn)在的時間,和我們設(shè)定的時間進行對比,

到了時間,彈出窗口,達到提醒的效果

5- 代碼

import datetime
import time
import tkinter

HOUR = 20  # 幾點
MINUTE = 38  # 幾分

MESSAGE = "是時候睡覺了!"

TIMES = 5  # 提醒多少次
INTERVAL = 2  # 每次彈窗窗口間隔的秒數(shù)

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

        # 把窗口的邊框給去掉
        self.root.overrideredirect(True)

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

        # 設(shè)置整個窗口的背景為白色
        self.root.configure(bg='white')

        # 這里用來設(shè)定字體,字體本身為黑色,字體背景為白色
        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)

        # 在窗口創(chuàng)建之后執(zhí)行 self.show 這個函數(shù)
        # 這里這樣處理,才能達到后面窗口顯示2秒再消失的效果
        self.root.after_idle(self.show)

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

    def show(self):
        """
        顯示窗口,持續(xù)2秒鐘
        """
        self.root.deiconify()
        self.root.after(1000 * 2, self.hide)

    def start(self):
        """
        進入死循環(huán),這樣窗口才能一直存在
        """
        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循環(huán)是為了保證時間沒到,腳本不會退出
    while True:

        hour, minute = get_time()

        # 判斷小時數(shù)和分鐘數(shù)
        if hour == HOUR and minute >= MINUTE:

            # 一般這里都是一個字母i,
            # 我這里純粹就想循環(huán)五次
            # Python里面就可以用 _ 來替代
            for _ in range(TIMES):
                prompt()
            break

if __name__ == '__main__':
    main()
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • True
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    11996
  • 窗口
    +關(guān)注

    關(guān)注

    0

    文章

    66

    瀏覽量

    10887
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4345

    瀏覽量

    62901
收藏 人收藏

    評論

    相關(guān)推薦

    鬧鐘定時器電路

    該簡單的電路可將你的鬧鐘變成專門的定時器。當鬧鈴激活之后,鬧鐘上的小燈就會亮。
    發(fā)表于 12-08 11:06 ?8502次閱讀
    <b class='flag-5'>鬧鐘</b><b class='flag-5'>定時</b>器電路

    如何利用Python中的tkinter和MyQR制作個性二維碼轉(zhuǎn)換器

    利用Python中的tkinter和MyQR制作個性二維碼轉(zhuǎn)換器
    發(fā)表于 06-18 06:17

    何用RTC時鐘去配置鬧鐘

    什么是RTC?RTC的工作原理是什么?RTC時鐘源有哪些?如何用RTC時鐘去配置鬧鐘呢?
    發(fā)表于 11-01 06:46

    Python是如何使用Tkinter快速創(chuàng)建GUI應(yīng)用程序的

    Tkinter是什么?Python是如何使用Tkinter快速創(chuàng)建GUI應(yīng)用程序的?
    發(fā)表于 12-23 07:15

    怎樣去設(shè)計基于單片機的定時鬧鐘

    確定修改結(jié)束。用掃描方式動態(tài)顯示時、分、秒,第2,4 數(shù)碼管加小數(shù)點,并且要求第4數(shù)碼管小數(shù)點每秒閃爍次??梢栽O(shè)置鬧鐘,到時間蜂鳴器報警難點及技巧:1、通過在定時器中斷設(shè)置標志位
    發(fā)表于 01-13 08:26

    【地平線旭日X3派試用體驗】40P接口程序開發(fā)體驗-基于Python+Tkinter的串口調(diào)試助手

    開發(fā),不必關(guān)注底層硬件細節(jié),十分方便高效。本串口調(diào)試助手拋磚引玉,后面可以編寫PWM,IO,IIC,SPI等總線的監(jiān)控或者調(diào)試助手,配上圖形界面的上位機程序,甚至可以將本板舉改造為高效的總線調(diào)試工具。
    發(fā)表于 07-11 23:56

    【飛凌RK3568開發(fā)板試用體驗】tkinter的第一個桌面程序

    :好象是替代pyqt;Wx :是python當中居中的圖形化,學(xué)習結(jié)構(gòu)很清晰Pywin :是python windows 下的模塊,攝像頭控制(opencv),常用于外掛
    發(fā)表于 12-03 07:36

    基于單片機的定時鬧鐘設(shè)計

    基于51單片機的定時鬧鐘設(shè)計
    發(fā)表于 12-14 15:07 ?22次下載

    何用Python制作自動發(fā)送程序

    怎么辦呢?是時候讓Python登場了! Python登場 這次我們一個自動發(fā)送微信的程序,在深夜十二點的時候給女朋友發(fā)去消息,也算是盡了
    的頭像 發(fā)表于 11-22 09:28 ?1525次閱讀

    使用555定時制作些樂器

    電子發(fā)燒友網(wǎng)站提供《使用555定時制作些樂器.zip》資料免費下載
    發(fā)表于 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控制

    電子發(fā)燒友網(wǎng)站提供《使用Arduino和Python Tkinter進行RGB Led控制.zip》資料免費下載
    發(fā)表于 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”)本質(zhì)上是對 Tcl/Tk 軟件包的 Python 接口封裝,它是 Python 官方推薦的 GUI 工具包,屬于 Python
    的頭像 發(fā)表于 05-05 15:02 ?691次閱讀
    如何把<b class='flag-5'>Python</b>腳本集成到GUI工具包-<b class='flag-5'>Tkinter</b>

    Python寫機器人上位機

    Python寫GUI的插件比較多,常用的有Tkinter、pyqt5,本將使用pyqt5寫機器人的上位機。TkinterPython的標準 GUI 庫,是
    發(fā)表于 05-09 11:10 ?0次下載
    <b class='flag-5'>Python</b>寫機器人上位機

    何用Python實現(xiàn)文件系統(tǒng)的操作功能

    就來介紹下如何用 Python 實現(xiàn)這些功能 輸出當前的路徑 我們可以通過 Python 當中的 OS 庫
    的頭像 發(fā)表于 10-30 14:27 ?443次閱讀
    如<b class='flag-5'>何用</b><b class='flag-5'>Python</b><b class='flag-5'>來</b>實現(xiàn)文件系統(tǒng)的操作功能

    python如何打開gui界面

    Python中打開GUI界面,可以使用多種庫或框架,如Tkinter、PyQt、wxPython等。下面將詳細介紹如何使用Tkinter創(chuàng)建
    的頭像 發(fā)表于 11-22 14:12 ?1013次閱讀