Erstellen einer benutzerdefinierten Label-Klasse und Übergeben von Argumenten aus dem Hauptfenster mit Custom TKinter unPython

Python-Programme
Guest
 Erstellen einer benutzerdefinierten Label-Klasse und Übergeben von Argumenten aus dem Hauptfenster mit Custom TKinter un

Post by Guest »

Ich bin ziemlich neu in Sachen GUI und OOP, ich habe wirklich versucht, es herauszufinden, aber ich kann die Lösung nicht finden.
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))
Grundsätzlich habe ich mein Hauptfenster App(), das einem Frame „Homepage“ übergeordnet ist, der wiederum übergeordnet zu meinem benutzerdefinierten Label ist.
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):
Image

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post