Wie kann ich das Aussehen vom Programm ändern?
Die Frage ist vielleicht blöd, aber über das "Problem" bin ich immer wieder gestoßen.
Wenn aus Nutzersicht der Nutzer das Programm grundlegend über Einstellungen ändert (z.B: alles schwarz weiß anpassen will):
Muss ich dann immer, auch wenn es mitten im Coden erst auffällt, am Beginn des Codes eine Schleife setzen und alles bzw. fast alles nachrücken, oder?
Beziehungsweise ist das dann ein typischer Fall von objektorientiertem Programmieren, wo das eleganter einfacher geht?
Ein Beispiel:
Ich habe z.B. mit Python tkinter eine Tracker-App gebaut und merke dann ja aber die Farbänderung (soll für eingeschränkte Personen gedacht sein) müsste ich ja jetzt zu Beginn setzen. Ich kann also nicht mal eben mit einer Zeile Code das implementieren, wo ich gerade bin.
Das Problem mit so Implementierungen auf der oberen Ebene ist oft da und eigentlich sicher leicht gelöst. Ich hoffe, die Frage ist nicht komplett daneben! Es würde mich nur interessieren, wie das erfahrene Programmierer lösen. Danke.
Die Fragestelung ist sehr unverständlich... Geht es darum, dass während das Program läuft z.B. die Farbe geändert wird und dies aktuallisiert werden soll? Aber weshalb ne Schleife?
während des programm läuft soll die Farbe geändert werden wenn Nutzer auf einen Button klickt.
Bisher über while true: und dann der code , das wirkte für mich selbst ja umständlich
1 Antwort
Hallo.
Deine Fragestellung ist das reinste Chaos!
In der Regel wird sowas variabel gestaltet, so dass nur die Parameter vom Nutzer geändert werden können innerhalb eines vorgegebenen Rahmens.
Mit jeder vorgenommenen Änderung (Eventhandler) würdest du dann die GUI einmal ausblenden, durch eine Methode jagen welche die Neuausrichtung berechnet und dann wieder mit den Veränderungen anzeigen lassen. Das geht so schnell, dass der Nutzer das Ausblenden nicht mitbekommt.
Oder geht es um die parallele Verarbeitung? Dafür solltest du mal nach Threading unter Python suchen.
LG
Oha, das klingt nach ziemlichem Anfängerlevel.
Hier mal ein Beispielcode der es hoffentlich erklärt:
import tkinter as tk
import random
def change_color():
# Generiere zufällige RGB-Werte
r = random.randint(0, 255)
g = random.randint(0, 255)
b = random.randint(0, 255)
# Konvertiere in Hex ohne f-String (kompatibel mit älteren Python-Versionen)
random_color = '#{:02x}{:02x}{:02x}'.format(r, g, b)
# Ändere die Hintergrundfarbe
root.configure(bg=random_color)
# Hauptfenster erstellen
root = tk.Tk()
root.title("Color Swapper")
root.geometry("200x200")
root.configure(bg="white")
# Button erstellen
button = tk.Button(
root,
text="Colorswap",
command=change_color,
width=10,
height=1
)
button.place(relx=0.5, rely=0.5, anchor="center")
# Hauptloop starten
root.mainloop()
Ah okay ich hätte also ein Button der die ganze zeit einfach halt da steht.
Und das alles läuft über funktionnen..hätte ich denken können, müssen
Danke und ja es war blöd gefragt ich hätte drauf kommen können
Ich glaube funktionen so einbinden ist einfach bisher nicht vorgekommen und wenn nur bei Lehrbuch Projekten die man nicht selbst schreibt von Grund auf .. aber ganz klar blöde frage sehe ich
Naja, dafür sind ja GUIs da. Zur Interaktion mit dem Programm, damit der Nutzer "Einfluss" auf das Programm nehmen und mit ihm kommunizieren kann. Sonst bräuchte man eine andere Schnittstelle (Interface, das I in GUI), zum Beispiel mittels Text in der Konsole.
Es müssen auch nicht unbedingt Buttons sein. Es gibt viele Möglichkeiten, wie man die Interaktion gestalten kann.
Mit jeder vorgenommenen Änderung (Eventhandler) würdest du dann die GUI ...
Ja nach sowas habe ich glaube gesucht.
Nochmal hoffe klarer:
Bisher war mein Ansatz wie eben in jetzigen farb beispiel:
While True:
Farbe ändern ja nein? Button mit jeweiliger logik
(Eingerückter gesamter code)