一日の特定の時間にカウントダウンタイマーを表示するにはどうすればよいですか?

一日の特定の時間にカウントダウンタイマーを表示するにはどうすればよいですか?

私は先生です。私のコースには、Orageのタイムアウトイベントを通じて発表され、通知に送信されるいくつかのルーチンがあります。たとえば、

  • 掃除する
  • 椅子を立てる

学生は、活動までの残り時間を警告するために、画面にカウントダウンタイマーを表示するように依頼しました。私は、XFceを使用してフルスクリーンアイテムで覆われていない画面上部のパネルとして表示されるか、常にすべてのウィンドウの上に表示されるクリックできない透明なヘッドアップディスプレイとして表示されることがあります。

たとえば、

  • 3時10分から掃除されるまで。
  • 6時10分から授業が終わるまで。

これは手動でアクティブになるカウントダウンではなく、毎日特定の時間に発生します。たとえば、10分のカウントダウンは午後3時に始まり、午後3時10分に0時に終了します。アクティベーションスクリプトを使用できますが、orageカウンタと情報を表示する方法が必要です。

このようなカウントダウンタイマーを画面に表示する方法はありますか?

ベストアンサー1

‍‍出力機能を備えたPython tkinterGUIアプリケーションとウィジェットを作成する最も簡単で簡単な方法です。 GUIを作成するのはtkinter簡単な作業です。

インストールするには、次のコマンドを使用する必要があります。tkinter

apt-get install python-tk python3-tk

Fedora ユーザーの場合は、次のコマンドを使用します。

dnf install python-tkinter python3-tkinter

tkinter以下は常に上部に透明に表示される簡単なカウントダウンスクリプトです。

import tkinter as tk
from datetime import datetime, time

def dateDiffInSeconds(date1, date2):
    timedelta = date2 - date1
    return timedelta.days * 24 * 3600 + timedelta.seconds

def daysHoursMinutesSecondsFromSeconds(seconds):
    minutes, seconds = divmod(seconds, 60)
    hours, minutes = divmod(minutes, 60)
    days, hours = divmod(hours, 24)
    return (days, hours, minutes, seconds)

def counter_label(label):
    leaving_date = datetime.strptime('2022-01-01 01:00:00', '%Y-%m-%d %H:%M:%S')    #end time to count down
    def count():
        now = datetime.now()
        counter = daysHoursMinutesSecondsFromSeconds(dateDiffInSeconds(now, leaving_date))
        label.config(text=str("%d days, %d hours, %d minutes, %d seconds" % counter))
        label.after(1000, count)
    count()


root = tk.Tk()
root.attributes('-topmost', True)       #always on top
root.title("Counting Seconds")          #title
label = tk.Label(root, fg="dark green") #font color
label.pack()
counter_label(label)
button = tk.Button(root, text='Stop', width=25, command=root.destroy)   #stop button
button.pack()
root.wait_visibility(root)
root.wm_attributes('-alpha',0.5)    # transparent windows  0.1 - 1
root.mainloop()

ビデオ

おすすめ記事