Создание пользовательского класса Label и передача аргументов из главного окна с помощью Custom TKinter и Python.Python

Программы на Python
Ответить
Anonymous
 Создание пользовательского класса Label и передача аргументов из главного окна с помощью Custom TKinter и Python.

Сообщение Anonymous »

Я новичок в графическом интерфейсе и ООП, я действительно пытался разобраться, но не смог найти решение.
Я начал проект с графическим интерфейсом, который начал очень грязно, очень быстро. Поэтому я начал воссоздавать с нуля, используя ориентированный объект (классы и т. д.)
Для упрощения я хотел бы создать собственный класс меток, который по умолчанию будет иметь базовую информацию (шрифт / цвет фона... из основного приложения)
Но он не отображается должным образом, какой метод будет правильным?
Вот мой код:

Код: Выделить всё

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))
По сути, у меня есть главное окно App(), которое является родительским для «домашней страницы» фрейма, которая является родительской для моей пользовательской метки.
Мне не удается отобразить правильно моя метка в кадре при передаче некоторой информации (здесь цвет фона, называемый «App_color», из приложения в класс метки.
Я вижу, что он есть, но без чего-либо (просто обрежьте границу моего кадра) :
Изображение


Подробнее здесь: https://stackoverflow.com/questions/793 ... indow-with
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»