Как я получаю доступ к приложенному свойству в коде позади?

Я исправил это, когда перемещал и класс графического интерфейса Tkinter, и класс контроллера в их собственный файл .py вместо того, чтобы оба они находились в одном файле.

Я обнаружил, что забыл некоторые self., поэтому контроллер будет пытаться получить доступ к объекту GUI, определенному в глобальной области видимости, вместо ссылки, которую я дал. После размещения этих self. все работает, как я ожидал!

Так и для других людей: Если вы хотите дать двум объектам ссылку на друг друга :

[119 ]
  • Установите заполнитель для другого объекта в каждом конструкторе. (спасибо @Dashadower)
  • Дайте каждому классу метод переназначения этого заполнителя с фактической ссылкой (Дайте объект в качестве аргумента)

  • Не забудьте вызовите ссылку на объект другого объекта . (ИСПОЛЬЗОВАНИЕ self.)

    94
    задан Dan J 6 November 2012 в 23:36
    поделиться

    3 ответа

    Canvas.SetLeft(theObject, 50)
    

    156
    ответ дан Tim Cooper 24 November 2019 в 06:03
    поделиться

    Попробуйте это

    theObject.SetValue(Canvas.LeftProperty, 50d);
    

    существует группа методов на DependencyObject (основа большинства классов WPF), которые предоставляют общий доступ ко всем свойствам зависимости. Они

    • Редактирование SetValue
    • GetValue
    • ClearValue

    Обновлены набор для использования двойного литерала, так как целевой тип является двойным.

    50
    ответ дан JaredPar 24 November 2019 в 06:03
    поделиться

    Поскольку мы меняем свойство «объекта», было бы лучше использовать метод, предложенный JaredPar:

    theObject.SetValue(Canvas.LeftProperty, 50d);
    
    12
    ответ дан 24 November 2019 в 06:03
    поделиться
    Другие вопросы по тегам:

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