python 現在時刻を表示し1秒後に消えるウィンドウを表示するだけのGUI作ってみた

ソフトウェア

pythonの「tkinter」でウィンドウを表示、「datetime」で日時を取得、「time」でウィンドウを一定時間後に消滅させるスクリプトを組んだので備忘録として記しました。

なんかの参考にしてもらえると嬉しいです。

完成したコードと実行結果

コード

これを「time.pyw」とかで保存して実行すると時刻が分かります。

.pyだと黒い画面(コンソールログ的な)が表示されるので、拡張子が「.pyw」であることに留意してください。

import tkinter
import datetime
import time

#ウィンドウつくる
root = tkinter.Tk()
root.title("今の時間は...???")
root.geometry("1100x200+650+600")
root.configure(bg='black')

#以下文字
label0=tkinter.Label(root,text="現在の年月日時刻は...",font=("meiro",25,"normal","roman","normal","normal"),fg="white",bg="black")
label0.place(x=10,y=20)
label0.grid

#以下時刻と文字
dt_now = datetime.datetime.now()
label1=tkinter.Label(root, text=dt_now.strftime('%Y年%m月%d日 %H時%M分%S秒'), font=("meirio",60,"normal","roman","bold","normal"),fg="white",bg="black")
label1.place(x=15,y=80)
label1.grid

#0.9秒後にウインドウを閉じる
root.after(900, lambda: root.destroy()) 

root.mainloop()

実行してみる

キーボードの要らないキーに割り当てた先ほどの「teme.pyw」を実行した結果です。

画面の中央ほどに、スクリプトが起動された時点での時刻が表示されます。

【公式】【東方Vocal】幽閉サテライト / 幻想症候群(げんそうシンドローム)(原曲:紅楼 ~ Eastern Dream… / U.N.オーエンは彼女なのか?)【FullMV】

私はこのスクリプトを、アニメを全画面で視聴中に見やすい大きさで時刻が分かることを目的に作ったので動作テストもyoutubeの全期間再生中という本番に即したものとなっています。

余談ですが良い曲ですよこれ(布教)

ウィンドウは900ミリ秒後に自動的に消えるので、アクティブなウィンドウもスクリプト実行前後で変わりません。youtubeを表示しているchromeのままです。

コードのカスタマイズ 説明

インポートするライブラリ

import tkinter
import datetime
import time

変更できる箇所はありません。

ウィンドウの大きさと表示位置

i#ウィンドウつくる
root = tkinter.Tk()
root.title("今の時間は...???")
root.geometry("1100x200+650+600")
root.configure(bg='black')

root.geometry(“1100×200+650+600”)

これは、(”横幅x縦幅+ディスプレイ左端からの距離が何pxか+上端からの距離が何pxか”)を決めています。

root.configure(bg=’black’)

ウィンドウの背景色です。

文字と時刻の表示

#以下文字
label0=tkinter.Label(root,text="現在の年月日時刻は...",font=("meiro",25,"normal","roman","normal","normal"),fg="white",bg="black")
label0.place(x=10,y=20)
label0.grid

#以下時刻と文字
dt_now = datetime.datetime.now()
label1=tkinter.Label(root, text=dt_now.strftime('%Y年%m月%d日 %H時%M分%S秒'), font=("meirio",60,"normal","roman","bold","normal"),fg="white",bg="black")
label1.place(x=15,y=80)
label1.grid

font=(“meirio”,60,”normal”,”roman”,”bold”,”normal”)

フォント種類、フォントサイズ、太字などを指定しています。全てのオプションの把握はしていません。ごめんなさい。

fg=”white”,bg=”black”

fgは文字の色、bgは文字の背景色です。

dt_now = datetime.datetime.now()
text=dt_now.strftime(‘%Y年%m月%d日 %H時%M分%S秒’)

ここが時刻の取得&表示の処理箇所です。

例えば「%H時%M分」を「%H:%M」とかにすることも可能です。
「%H時%M分」→6時50分、「%H:%M」→6:50
こんな感じです。

ウィンドウを自動で閉じる

#0.9秒後にウインドウを閉じる
root.after(900, lambda: root.destroy()) 

root.mainloop()

900はミリ秒単位の時間を表しています。

例えば3秒後に閉じたければ3000と書くようにします。

まとめ 全画面で視聴中に現在時刻を知るために

短くした版のコードです。「time.pyw」などでメモ帳あたりに保存&実行してみてください。

import tkinter,datetime,time
root = tkinter.Tk()
root.title("今の時間は...???")
root.geometry("1100x200+650+600")
root.configure(bg='black')
label0=tkinter.Label(root,text="現在の年月日時刻は...",font=("meiro",25,"normal","roman","normal","normal"),fg="white",bg="black")
label0.place(x=10,y=20)
label0.grid
dt_now = datetime.datetime.now()
label1=tkinter.Label(root, text=dt_now.strftime('%Y年%m月%d日 %H時%M分%S秒'), font=("meirio",60,"normal","roman","bold","normal"),fg="white",bg="black")
label1.place(x=15,y=80)
label1.grid
root.after(900, lambda: root.destroy()) 
root.mainloop()

コチラはPython等外部アプリを用いず、Windowsの標準搭載の機能をいて、同じ動作をさせた場合のやり方です。

もしpythonを快適に書きたいなら、こちらの記事を参考にすると良いと思います。

pythonで作った他のスクリプトです。併せてどうぞ!!!

  1. Python3:入力した10進数と16進数の数を相互変換する38行GUIアプリ
  2. PythonとLINE Notifyを用いたWIndowsがオンラインであることを定期通知するアプリの作り方:ソースコード有り
タイトルとURLをコピーしました