Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Hallo an alle,
ich habe heute mit Tkinter experimentiert, und habe schon das erste Problem.
Ich möchte zwei Buttons untereinander erstellen und daneben EIN Label über ZWEI Reihen mit einer Bilddatei.
Ähnlich, wie bei einem Installationsprogramm.
Folgendes habe Ich versucht:
@PythonProgrammer2.0: Man sollte innerhalb des selben Containerwidgets die Seiten von `pack()` nicht mischen. Das kann zu schwer vorhersehbaren Layouts führen. Wenn Du bei `pack()` bleiben möchtest, dann brauchst Du für die Schaltflächen einen `tkinter.Frame` wo die übereinander reingesteckt werden und dann kannst Du diesen `Frame` und das `Label` mit dem Bild nebeneinander `pack()`\en. Alternativ kannst Du Dir das `grid()`-Layout anschauen.
Weitere Anmerkungen: Sternchen-Importe sind Böse™. Du holst Dir da fast 200 Namen ins Modul von denen nur ein kleiner Bruchteil tatsächlich verwendet wird und welche die noch nicht einmal im `tkinter`-Modul definiert sind. Das `tkinter`-Modul wird üblicherweise mit ``import tkinter as tk`` importiert, und die Werte aus dem Modul über `tk` angesprochen, also beispielsweise `tk.Label`.
Namen werden in Python klein_mit_unterstrichen geschrieben. Ausnahmen sind Konstanten (KOMPLETT_GROSS) und Klassen (MixedCase). Du hast durch Deine Namensschreibweise im Grunde sogar einen Fehler gemacht, denn Du kannst, weil Du `Label` als Namen verwendet hast, nun keine weiteren `Label` mehr erstellen.
Namen sollten nicht durchnummeriert oder kryptisch abgekürzt werden.
Auf Modulebene sollte nur Code stehen, der Konstanten, Funktionen, und Klassen definiert. Das Hauptprogramm steht üblicherweise in einer Funktion die `main()` heisst.
Für das `side`-Argument hat das `tkinter`-Modul Konstanten (`tk.LEFT`, `tk.TOP`, …).
Beim `PhotoImage` brauchst Du keinen `master` angeben.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman