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

Kivy - Сохранение значений объекта, измененных во всплывающем окне, так что после его закрытия, когда я снова открываю всплывающее окно, оно открывается с новыми значениями.

Я хочу изменить некоторые метки кнопок класса во всплывающем окне и сохранить новую метку после повторного открытия всплывающего окна. Если вы запустите мое приложение, вы увидите, что после нажатия кнопки «Нажмите меня» появляется всплывающее окно с кнопкой с меткой «По умолчанию», после нажатия на нее она меняет метку на «Новая». Я хочу иметь возможность закрыть всплывающее окно, нажать кнопку «Нажмите меня» и увидеть кнопку во всплывающем окне с меткой «Новый».

Мой .py-файл

from kivy.uix.floatlayout import FloatLayout
from kivy.core.window import Window
from kivy.uix.popup import Popup
from kivy.app import App
from kivy.uix.widget import Widget

import time

Window.clearcolor = (1, 1, 1, 1)
Window.size = (800, 480)

class MyGrid(Widget):
    def btn(self):
        show_popup(T, "Window")


class T(FloatLayout):
    pass

def show_popup(tab, name): 
    show = tab()
    popupWindow = Popup(title = name, content = show, size_hint = (None,None), size = (800,384), auto_dismiss = True)
    popupWindow.open()
    return popupWindow

class TimeApp(App):
    def build(self):
        return MyGrid()



if __name__ == "__main__":
    TimeApp().run()

мой .kv файл

<MyGrid>    
    Button:
        text: "Press me"
        on_press: root.btn()


<T>:
    Button:
        pos_hint: {"center_x": 0.5, "center_y": 0.5}
        text: "Default"
        on_press: self.text = "New"

Ответы:


1

Один из способов сделать это — сохранить ссылку на всплывающее окно.
Сторона py:

Window.clearcolor = (1, 1, 1, 1)
Window.size = (800, 480)


class MyGrid(Widget):

    def __init__(self, **kwargs):
        super(MyGrid, self).__init__(**kwargs)
        self.popupWindow = Popup(content=T(), size_hint=(None, None),
                                 size=(800, 384), auto_dismiss=True)

    def btn(self):
        self.show_popup("Window")

    def show_popup(self, name):
        self.popupWindow.title = name
        self.popupWindow.open()


class T(FloatLayout):
    pass


class TimeApp(App):
    def build(self):
        return MyGrid()


if __name__ == "__main__":
    TimeApp().run()
18.02.2020
Новые материалы

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

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

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

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

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

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

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