Задать вопрос
@Bustiks

(customtkinter) Как передать значение елемента из одного файла в другой?

У меня есть два файла: bottom_menu.py и right_menu.py, в котором я создаю класс RightMenu. В этом классе, например, есть чекбокс. Я создаю функцию get_checkbox(self), которая через метод get получает значение чекбокса. Когда я вызываю эту функцию в файле right_menu.py, она корректно возвращает значение.

Однако, когда я импортирую класс RightMenu в файл bottom_menu.py, создаю его экземпляр и пытаюсь вызвать функцию get_checkbox() через этот экземпляр, функция работает, но всегда возвращает 0, независимо от того, в каком состоянии находится чекбокс.

class RightMenu(ctk.CTkFrame):
    def __init__(self, master, *args, **kwargs):
        super().__init__(master, *args, **kwargs)

        self.right_menu = ctk.CTkFrame(self, width=200, corner_radius=0, border_color="#242323", border_width=1)
        self.right_menu.pack(side="right", fill="y", expand=False)

        self.checkbox = ctk.CTkCheckBox(self.right_menu, text="Contrast", width=100, height=25, command=self.toggle_slider)
        self.checkbox.pack(padx=10, pady=10, anchor="w")

def get_effects(self):
        contrast = self.checkbox.get()
        print(contrast)
        return contrast


class BottomMenu(ctk.CTkFrame):
    def __init__(self, master=None, start_video_callback=None, stop_video_callback=None):
        super().__init__(master=master, corner_radius=0, height=100, border_color="#242323", border_width=1)

        self.right_menu = RightMenu(self)

def on_apply_changes_click(self):
        # Получаем значение слайдера контраста из RightMenu
        checkbox_value = self.right_menu.get_effects()
        print(f"Текущее значение чекбокса: {checkbox_value}")


Тут не весь код файлов если что
  • Вопрос задан
  • 24 просмотра
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы