Seite 1 von 1
Tkinter ausgabe immer im Vordergrund
Verfasst: Donnerstag 11. Februar 2021, 13:47
von timm4444
Hallo Leute, ich habe eine Frage, und zwar habe ich ein Programm, dass mit folgendem Code immer Vordergrund läuft:
.
Meine Problem ist, dass ich ein anderes Fenster(gemacht mit Turtle) per Button öffnen möchte(Button ist schon da) und ich nicht möchte, dass es automatisch zurückgeschoben wird(andere Programme jedoch schon).
Gibt es vielleicht einen Befehl der ds Fenster stärker in den Vordergrund stellt?
Re: Tkinter ausgabe immer im Vordergrund
Verfasst: Freitag 19. Februar 2021, 12:29
von peterpy
Hallo timm4444 ,
ohne Code muss ich in die Kristallkugel schauen.
Diese zeigt mir zwei Möglichkeiten:
Du erstellst als zweites Fenster ein Toplevel Fenster, oder Du erstellst ein Kindfenster.
Also ich vermute Du suchst so etwas:
Code: Alles auswählen
import tkinter as tk
from functools import partial
def main():
root=tk.Tk()
tk.Label(root, width=30, text="Das\ngrosse\nHauptfenster",
bg="green", height=20, font=('helvetica', '24')).pack()
root.attributes("-topmost", True)
tk.Button(root, text="Zeige ein\nweiters\nFenster",
command=partial(neues_fenster, root)).pack(side='right')
tk.Button(root, text="Mach mir ein\nKind-\nFenster",
command=partial(kind_fenster, root)).pack(side='left')
root.mainloop()
def neues_fenster(root):
root.update_idletasks()
root_geometry = root.winfo_geometry()
root_daten = root_geometry.split('+')
root_x = root_daten[1]
root_y = root_daten[2]
noch_ein_fenster = tk.Toplevel()
noch_ein_fenster_geometry = "300x200+{}+{}".format(root_x, root_y)
noch_ein_fenster.geometry(noch_ein_fenster_geometry)
root.attributes("-topmost", False)
text = "NOCH EIN FENSTER\n\nmit den Geometriedaten:\n{}\n\
lösche mich\nund ich bleibe\nnoch für 5 Sekunden\n\
versteckt erhalten.".format(noch_ein_fenster_geometry)
tk.Label(noch_ein_fenster, text=text, bg="yellow", width=30,
font=('helvetica', '16')).pack()
noch_ein_fenster.protocol("WM_DELETE_WINDOW",
partial(hauptfenster_vordergrund, root,
noch_ein_fenster))
def kind_fenster(root):
rahmen = tk.Frame(root)
rahmen.pack()
text = "Ich bin ein Kind von root\nund bleibe\nim Vordergrund"
tk.Label(rahmen, text=text, bg="lightyellow").pack()
Gruss Peter
Re: Tkinter ausgabe immer im Vordergrund
Verfasst: Sonntag 21. Februar 2021, 15:32
von timm4444
Danke für die Antwort.
So etwas habe ich gesucht .
