
對于喜歡用電腦的人來說,
一旦往那里一坐,就很容易忘記時間,
接觸到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é)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
True
+關(guān)注
關(guān)注
0文章
9瀏覽量
12264 -
窗口
+關(guān)注
關(guān)注
0文章
66瀏覽量
11282 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4417瀏覽量
67499
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
如何利用Python中的tkinter和MyQR制作個性二維碼轉(zhuǎn)換器
利用Python中的tkinter和MyQR制作個性二維碼轉(zhuǎn)換器
發(fā)表于 06-18 06:17
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ù)點每秒閃爍一次。可以設(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é)習(xí)結(jié)構(gòu)很清晰Pywin :是python windows 下的模塊,攝像頭控制(opencv),常用于外掛
發(fā)表于 12-03 07:36
如何用Python制作一個自動發(fā)送程序
怎么辦呢?是時候讓Python登場了! Python登場 這次我們來做一個自動發(fā)送微信的程序,在深夜十二點的時候給女朋友發(fā)去消息,也算是盡了一
使用Arduino和Python Tkinter進行RGB Led控制
電子發(fā)燒友網(wǎng)站提供《使用Arduino和Python Tkinter進行RGB Led控制.zip》資料免費下載
發(fā)表于 11-30 12:00
?0次下載
如何把Python腳本集成到GUI工具包-Tkinter
Tkinter(即 tk interface,簡稱“Tk”)本質(zhì)上是對 Tcl/Tk 軟件包的 Python 接口封裝,它是 Python 官方推薦的 GUI 工具包,屬于 Python
Python寫機器人上位機
Python寫GUI的插件比較多,常用的有Tkinter、pyqt5,本將使用pyqt5寫機器人的上位機。Tkinter 是 Python的標準 GUI 庫,是
發(fā)表于 05-09 11:10
?0次下載
python如何打開gui界面
在Python中打開GUI界面,可以使用多種庫或框架,如Tkinter、PyQt、wxPython等。下面將詳細介紹如何使用Tkinter創(chuàng)建一個
如何用Python里面的tkinter來制作一個定時鬧鐘
評論