tkinter.Label(...anchor=tkinter.W, justify=tkinter.LEFT...)

Fragen zu Tkinter.
Antworten
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Hab u.a. sowas:

Code: Alles auswählen

        self.max_run_time_var = tkinter.DoubleVar(
            value=self.runtime_cfg.max_run_time
        )
        self.max_run_time_entry = tkinter.Entry(self.root,
            textvariable=self.max_run_time_var, width=8,
        )
        self.max_run_time_entry.bind('<KeyRelease>', self.command_max_run_time)
        self.max_run_time_entry.grid(row=2, column=1)
        self.max_run_time_label = tkinter.Label(self.root,
            anchor=tkinter.W, justify=tkinter.LEFT, # FIXME: Doesn't work
            text="How long should a CPU Op burst loop take (max_run_time)"
        )
        self.max_run_time_label.grid(row=2, column=2)
siehe auch: https://github.com/jedie/DragonPy/commi ... 9add06R207

Wie schon darin steht, wird der Label Text mit anchor=tkinter.W, justify=tkinter.LEFT nicht linksbündig. :K
Es bleibt zentriert.
Was mache ich falsch?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
BlackJack

@jens: Bei so etwas hilft es in der Regel wenn man den Widgets verschiedene Hintergrundfarben gibt um zu sehen was passiert. Ich würde nämlich mal ganz stark vermuten das das `Label` selbst mittig in der `grid()`-Zelle steht und nicht der Text im `Label` mittig ausgerichtet ist. Du musst beim `grid()` sagen an welcher oder welchen Seite(n) das `Label` ”kleben” soll wenn die Zelle grösser als das Widget ist. Wenn Du da nur 'W' angibst, dann brauchst Du den Text *im* Label gar nicht ausrichten. Denn diese Ausrichtung wird ja eh nur interessant wenn das Label breiter als der Text darin ist. Was aber nur passiert wenn man manuell eine grössere Breite angibt, oder man das `Label` so „layoutet” das es in der Breite grösser werden kann als der enthaltene Text. Zum Beispiel wenn man 'EW' als `sticky`-Argument bei `grid()` angibt und die Zelle dann auch tatsächlich breiter wird als das `Label` minimal wäre.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Wie so oft (oder immer?) liegst du richtig. So ist es wie ich es haben möchte: https://github.com/jedie/DragonPy/commi ... 84af9118eb

Danke ! :D

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten