Da ich hier neu bin und auch die Programmierung für mich noch bei den Wurzel steckt stelle ich mich gerne kurz vor.
Ich bin 28 Jahre alt, komme aus der Schweiz und beschäftige mich in der Freizeit mit einigen Projekten als Hobby.
Aktuell geht es bei mir um ein kleines Programm mit dem ich später verschiedene Sensoren anzeigen, überwachen und ggf. mit einem Relais auf die Werte reagieren will.
Die Optische Umgebung habe ich vorab mal mit "PAGE" erstellt und bearbeite es momentan in PyCharm. (Python 3)
Nun zu meinem "Problem" (Ich habe in der Suche nichts passendes gefunden und auch nach 8h Google keine Lösung)
Es wurden diverse Labels, Checkboxen etc. auf der Oberfläche erstellt, was auch alles gut aussieht und im Code anpassbar ist.
Da ich z.B. die Hintergrundfarbe der Labels und noch andere Attribute angepasst habe wird jetzt aber bei jedem einzelnen Widget die Anpassung geschrieben.
Ich bin mir ziemlich sicher, das es möglich ist generell irgendwo zu sagen wie eine neue Checkbox oder Label aussehen muss wenn es erstellt wird. Nur finde ich nicht den richtigen Weg das zu schreiben, da meine Kenntnisse noch sehr Bescheiden sind.
Wenn mir da jemand Hilfestellung geben könnte würde mir das den Code direkt um 2/3 verkleinern, was es wesentlich übersichtlicher und kompakter machen würde.
Hier ein Beispiel wo die Checkboxen eigentlich gleich sind, was dann ja nicht immer komplett neu verfasst werden müsste. Um später die Farbe zu ändern ist es auch sehr aufwändig.
Code: Alles auswählen
self.Checkbox_Tier3 = tk.Checkbutton(top)
self.Checkbox_Tier3.place(relx=0.038, rely=0.604, relheight=0.042, relwidth=0.023)
self.Checkbox_Tier3.configure(activebackground="#d9d9d9")
self.Checkbox_Tier3.configure(activeforeground="#000000")
self.Checkbox_Tier3.configure(background="#81c683")
self.Checkbox_Tier3.configure(disabledforeground="#a3a3a3")
self.Checkbox_Tier3.configure(font=font12)
self.Checkbox_Tier3.configure(foreground="#000000")
self.Checkbox_Tier3.configure(highlightbackground="#d9d9d9")
self.Checkbox_Tier3.configure(highlightcolor="black")
self.Checkbox_Tier3.configure(justify='left')
self.Checkbox_Tier3.configure(variable=Terramaster_support.CheckTier3)
self.Checkbox_Tier4 = tk.Checkbutton(top)
self.Checkbox_Tier4.place(relx=0.038, rely=0.667, relheight=0.042, relwidth=0.023)
self.Checkbox_Tier4.configure(activebackground="#d9d9d9")
self.Checkbox_Tier4.configure(activeforeground="#000000")
self.Checkbox_Tier4.configure(background="#81c683")
self.Checkbox_Tier4.configure(disabledforeground="#a3a3a3")
self.Checkbox_Tier4.configure(font=font12)
self.Checkbox_Tier4.configure(foreground="#000000")
self.Checkbox_Tier4.configure(highlightbackground="#d9d9d9")
self.Checkbox_Tier4.configure(highlightcolor="black")
self.Checkbox_Tier4.configure(justify='left')
self.Checkbox_Tier4.configure(variable=Terramaster_support.CheckTier4)
Grüsse aus der Schweiz