Ein Lüftungsprogramm (Ein Lüftungsprogramm), Lektion, Seite 724755
https://www.purl.org/stefan_ram/pub/lueftung_python (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Python-Kurs

Ein Lüftungsprogramm in Python

vent.pyw

import datetime
import threading
import time
import tkinter
import winsound

window = tkinter.Tk()
exiting = False

def on_closing( event=None ):
global exiting
exiting = True
window.destroy()

window.protocol( "WM_DELETE_WINDOW", on_closing )

bar = tkinter.Menu( window )
menu = tkinter.Menu( bar, tearoff=0 )
menu.add_command( label="Windows have been opened", command=lambda:windows_have_been_opened() )
bar.add_cascade( label="Windows", menu=menu )
window.config( menu=bar )

def timer_function():
global running
running = True
label=tkinter.Label(window )
label.grid( row=0, column=0 )

base_time = datetime.datetime.now( datetime.timezone.utc )
while not exiting:
current_time = datetime.datetime.now( datetime.timezone.utc )
dt =( current_time - base_time ).seconds/60
label['text'] = str(dt)
if dt > wait_time:
# if wait_time == 20:
window.attributes('-fullscreen', True)
window.lift()
window.attributes('-topmost', 1)
window.attributes('-topmost', 0)
window.focus_force()
window.bell()
winsound.Beep( 1000, 100 );winsound.Beep( 1000, 100 );winsound.Beep( 1000, 100 );winsound.Beep( 1000, 100 );winsound.Beep( 1000, 100 )
# else: winsound.Beep( 440, 500 ); winsound.Beep( 440, 500 ); winsound.Beep( 440, 500 )
# base_time = datetime.datetime.now( datetime.timezone.utc )
time.sleep( 1 )
running = False

def terminate_current_thread():
global exiting
global running
try:
running
except NameError:
running = False
while running:
exiting = True
winsound.Beep( 500, 100 )
time.sleep( 1 )
exiting = False

def windows_have_been_opened():
global wait_time
winsound.Beep( 500, 100 )
terminate_current_thread()
assert not running
assert not exiting
wait_time = 20
timer_thread = threading.Thread( target=timer_function )
timer_thread.start()

tkinter.mainloop()

 

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram724755 stefan_ram:724755 Ein Lüftungsprogramm Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd724755, slrprddef724755, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/lueftung_python