Seite 1 von 1
Hintergrundfarbe Button
Verfasst: Donnerstag 28. April 2022, 21:01
von Mosnum
Code: Alles auswählen
import tkinter as tk
def grad_nach_kelvin():
grad = int(eingabefeld_wert.get())
kelvin = grad + 273
textausgabe = tk.Label(root, text=kelvin, bg="yellow")
textausgabe.pack()
root = tk.Tk()
eingabefeld_wert = tk.StringVar()
eingabefeld = tk.Entry(root, textvariable=eingabefeld_wert)
eingabefeld.pack()
schaltf1 = tk.Button(root, text="Aktion durchführen", command=grad_nach_kelvin, highlightthickness="50", highlightcolor="blue", highlightbackground ="blue")
schaltf1.pack()
root.mainloop()
Warum ändert sich die Farbe des Buttons nicht? Highlightthickness funktioniert
Re: Hintergrundfarbe Button
Verfasst: Donnerstag 28. April 2022, 21:15
von Dennis89
Hallo,
'background' sollte funktionieren.
Grüße
Dennis
Edit: Aber du willst doch nicht jedes mal ein neues Label erstellen, wenn die Einheit umgerechnet wird? Normal erstellt man die Objekte und ändert dann ihren Wert.
Dazu musst du mal schauen wie 'partial' funktioniert und der Zwischenstand sieht dann mal so aus:
Code: Alles auswählen
import tkinter as tk
from functools import partial
def grad_nach_kelvin(eingabe, textausgabe):
textausgabe.configure(text=f'{int(eingabe.get()) + 273}')
def main():
root = tk.Tk()
eingabefeld_wert = tk.StringVar()
eingabefeld = tk.Entry(root, textvariable=eingabefeld_wert)
eingabefeld.pack()
textausgabe = tk.Label(root, text='', bg="yellow")
textausgabe.pack()
schaltf1 = tk.Button(root, text="Aktion durchführen", command=partial(grad_nach_kelvin, eingabefeld_wert, textausgabe),
highlightthickness="50", highlightcolor="blue", background="blue")
schaltf1.pack()
root.mainloop()
if __name__ == '__main__':
main()
Dann verwendet man keine Abkürzungen und nummeriert auch keine Namen, vor allem bringt die 1 nichts, weil es keinen weiteren Button gibt.
Ps du hast die 0.15 vergessen

Re: Hintergrundfarbe Button
Verfasst: Donnerstag 28. April 2022, 22:02
von Dennis89
Nochmal bearbeiten geht nicht.
Vielleicht sind die Namen so besser:
Code: Alles auswählen
import tkinter as tk
from functools import partial
def celsius_to_kelvin(celsius, converted_value):
converted_value.configure(text=f'{int(celsius.get()) + 273.15}')
def main():
root = tk.Tk()
entry = tk.Entry(root,)
entry.pack()
converted_value = tk.Label(root, text='')
converted_value.pack()
button = tk.Button(root, text="Aktion durchführen", command=partial(celsius_to_kelvin, entry, converted_value))
button.pack()
root.mainloop()
if __name__ == '__main__':
main()
Sorry die Farben taten mir in den Augen weh.
Edit: Sorry folgender Satz in der eckigen Klammer war falsch von mir.
['grad_nach_kelvin' ist auch falsch, weil Kelvin auch Grad ist. Die Differenz von 273.15 gibt es zwischen Grad Celsius und Grad Kelvin.]
So jetzt bin ich aber ruhig.
Grüße
Dennis
Edit: 'entry' braucht die 'textvariable' doch eigentlich auch nicht.
Re: Hintergrundfarbe Button
Verfasst: Donnerstag 28. April 2022, 22:07
von __blackjack__
@Dennis89: Kelvin ist nur Kelvin ohne Grad.
Re: Hintergrundfarbe Button
Verfasst: Donnerstag 28. April 2022, 22:11
von Dennis89
Danke @__blackjack__ das habe ich nun schon immer falsch gesagt und bis jetzt hat mich noch keiner verbessert.

Re: Hintergrundfarbe Button
Verfasst: Donnerstag 28. April 2022, 22:46
von Mosnum
Hey danke für die Antworten. Ich hangel mich an einem Online-Tutorial entlang. Das sollte nur dazu dienen bisschen was zu lernen!
LG