python:snippets:bildschirm
Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Bildschirmsteuerungen
auf voriges Fenster zurückspringen
Will man z.B. nach einer Messagebox wieder auf das vorherige Fenster zurückspringen, hilft folgendes Snippet
fenster.lift() fenster.focus_force()
Parameter: fenster = der Fenstername.
Rückgabe: keine
Beachte: bei Funktionen, die an sich kein Fenster haben, das übergeordnete Fenster im Aufruf der Funktion zu übergeben.
Fenster zentrieren
Will man ein Fenster in Breite und Höhe in Abhängigkeit von der Bildschirmauflösung zentrierenk hilft folgende Lösung.
# Bildschirmauflösung holen
screen_width = window.winfo_screenwidth()
screen_height = window.winfo_screenheight()
# Falls Breite/Höhe nicht angegeben, skaliert berechnen
width = width or int(screen_width * scale)
height = height or int(screen_height * scale)
# Begrenzung auf Bildschirmgröße
width = min(width, screen_width)
height = min(height, screen_height)
# Zentrierte Position berechnen
x = (screen_width - width) // 2
y = (screen_height - height) // 2
# DPI-Skalierung berücksichtigen (für 4K/HiDPI)
try:
window.tk.call('tk', 'scaling', window.winfo_fpixels('1i') / 72.0)
except Exception:
pass
window.geometry(f"{width}x{height}+{x}+{y}")
Parameter:
window (tk.Tk | tk.Toplevel): Fensterobjekt
width (int, optional): Exakte Breite
height (int, optional): Exakte Höhe
scale (float, optional): Verhältnis zur Bildschirmauflösung (Standard: 0.8)
Rückgabe:
None
python/snippets/bildschirm.1746611952.txt.gz · Zuletzt geändert: von franz