Nano Hash - криптовалюты, майнинг, программирование

wxPython sizer Метод родительского класса wxGridSizer странно недоступен

У меня проблема с набором инструментов wxPython. Я использую объект wx.GridSizer для размещения сетки, отображающей некоторую информацию о состоянии. Мне нужно обновить эту сетку, поэтому я придумал несколько разных способов сделать это. Я предпочитаю просто обновлять/обновлять текст, который нуждается в обновлении, поэтому я могу попробовать отсоединить объект wxStaticText от сайзера, перезаписать его новым объектом wxStaticText и вставить объект обратно в сайзер по его предыдущему индексу.

Лучший способ — использовать родительский класс wxGridSizer, wxSizer, у которого есть метод «Заменить», который позволит мне заменить элемент в виджете, не вынимая его и не вставляя обратно. Гораздо приятнее, не так ли? Ну, я получаю очень странную ошибку при попытке использовать этот метод. Вот код, за которым следует ошибка:

    self.info_sizer.Replace(self.project_value, wx.StaticText(self, wx.ID_ANY, project))

    self.info_sizer.Replace(self.project_value, wx.StaticText(self, wx.ID_ANY, project))
AttributeError: 'GridSizer' object has no attribute 'Replace'

Так что внезапно заменить не вариант. Имейте в виду, что метод Insert, о котором я упоминал ранее, является методом родительского класса сайзера wxSizer. Таким образом, доказывается, что размерчик, который я использую, wxGridSizer, может успешно вызывать метод своего родительского класса (унаследованный, подкласс) Insert.

Так почему же я не могу вызвать аналогичным образом метод Replace?

18.07.2009

Ответы:


1

По какой причине вы не можете использовать wx.StaticText.SetLabel("New label") для обновления текста?

18.07.2009
  • Я думал, что просмотрел этот класс в поисках решения. Я, должно быть, пропустил этот метод. Я был на перегрузке с этим в последнее время. Что ж, спасибо тебе! 18.07.2009
  • Это отличное решение, но все же было бы неплохо знать, что я не могу получить доступ к методу родительского класса. Я могу использовать один, но не другой. Таинственный, если только я не делал что-то явно неправильное, для меня было очень поздно. 18.07.2009
  • Вы создали подкласс wx.GridSizer? Этот комментарий есть в wxpython.org/docs/api/wx.Sizer- class.html, в котором говорится: Если вы хотите создать пользовательский класс размера в wxPython, вы должны получить класс из wx.PySizer, чтобы получить возможности Python для различных виртуальных методов. 18.07.2009
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..