Wozu von Toplevel-Klasse erben?

Fragen zu Tkinter.
Antworten
Benutzeravatar
daemonTutorials
User
Beiträge: 171
Registriert: Sonntag 6. Februar 2011, 12:06
Kontaktdaten:

So, jetzt klappt es endgültig. Mit Fadeout(obwohl es bei X11 anscheinend nicht geht, schade)

http://paste.pocoo.org/show/369712/
LG Maik
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Doch :o, wenn du compiz installiert und aktiviert hast. Ist mir auch erst heute aufgefallen.

Zwei Anmerkung noch :twisted:,
- Dein "d" in dtSplash, kannst du groß schreiben. In Klassen ist CamelCase erwünscht
- und momentan sollte die Funktion wohl eher "add_image" heißen, denn genau das tut sie im Moment

Edit: Wie der Zufall so will.
- Bei deinem Canvas kannst du dir das "width" und "height" sparen, das macht der Pack()-Manager für dich durch "expand". Hatte ich oben irgendwo schon mal geschrieben

- die fadeout Funktion greift auf das Attribut "photo_is_set" zu, dies ist kein Standard für Toplevel-Widgets, also setzt du die fadeout-Funktion dem SplashScreen als Methode ein, oder du solltest den Name des Parameters in "dt_splash" ändern.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Benutzeravatar
daemonTutorials
User
Beiträge: 171
Registriert: Sonntag 6. Februar 2011, 12:06
Kontaktdaten:

Achso, stimmt ja! Leider *funzt* das mit compiz nicht(warum weiß nur Gott).
Das mit width und height hast du gesagt, bloß verstanden hab ich es nicht.
Die Variable habe ich geändert, packe ich evtl. noch in die Klasse rein!

Und das Funktionen offen auf die Variablen einer Klasse zugreifen, ist nicht konventionell, das stimmt.

Danke. Werde ihn noch mehr verbessern und posten.
LG Maik
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

quote="daemonTutorials"]Das mit width und height hast du gesagt, bloß verstanden hab ich es nicht.[/quote]
Eine gute Erklärung findest du wieder auf effbot.org. Kurz um "fill" lässt zu das die Widgets sich bis zum Rand des übergeordneten Widgets strecken dürfen und "expand" gibt an ob das Widget bei einer Veränderung der Größe des übergeordneten Widgets auch seine eigene ändern darf.

Hier ein Beispiel:

Code: Alles auswählen

import tkinter as tk

if __name__ == "__main__":
    root = tk.Tk()

    frame = tk.Frame(root)
    frame.pack(fill="both")
    
    button1 = tk.Button(frame, text="\xdcbernehmen")
    button1.pack(side="left", fill="x")
    button2 = tk.Button(frame, text="Abbrechen")
    button2.pack(side="right", fill="x", expand=True)
    
    root.mainloop()
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Antworten