Ich habe ein GUI-Projekt gestartet, das begann Sehr schnell sehr chaotisch. Also begann ich, mit Oriented Object (Klassen usw.) von Grund auf neu zu erstellen.
Zur Vereinfachung möchte ich eine benutzerdefinierte Beschriftungsklasse erstellen, die standardmäßig Basisinformationen enthält (Schriftart / Hintergrundfarbe ... aus der Haupt-App)
Aber es wird nicht richtig angezeigt. Was wäre bitte die richtige Methode dafür?
Hier ist mein Code:
Code: Select all
class App(CTk):
def __init__(self, title, size):
super().__init__()
# MAIN SETUP
self.title(title)
self.size = f'{size[0]}x{size[1]}'
self.minsize(480, 360)
self.iconbitmap("logo.ico")
self._set_appearance_mode('dark')
set_default_color_theme('dark-blue')
self.App_color = self._fg_color[1]
# WIDGETS
Home_Page(self)
# RUN
self.mainloop()
class Home_Page(CTkFrame):
def __init__(self, parent):
super().__init__(parent)
self._border_color = 'purple'
self._border_width = 2
self._bg_color = parent.App_color
self._fg_color = parent.App_color
self.App_color = parent.App_color
# WIDGETS
My_CTk_Label(self, self.master, text='test label')
# DISPLAY
self.pack(expand=YES, fill=BOTH)
class My_CTk_Label(CTkLabel):
def __init__(self, parent, app, text):
super().__init__(parent)
self._bg_color = app.App_color
self._text = text
self._font = ("Arial",25)
self._text_color = 'white'
self._fg_color ='red'
self.pack()
App('MEAL PLANNER',(720,720))
Es gelingt mir nicht, es richtig anzuzeigen Mein Label im Frame, während ich einige Informationen (hier die Hintergrundfarbe, genannt „App_color“ von der App an die Label-Klasse) übergebe.
Ich kann sehen, dass es da ist, aber ohne irgendetwas (nur schneide den Rand meines Rahmens ab):
