Как предотвратить закрытие окна на x в приложении kivy

с использованием val, но тогда параметр становится окончательным (постоянным). Если вы хотите переназначить значение, вы должны использовать var. Итак,

class Point(var x: Int, var y: Int)
1
задан Josip Maričević 18 March 2019 в 00:04
поделиться

1 ответ

Вы можете сделать это, связав окно on_request_close с функцией проверки выполнения условий:

from kivy.app import App
from kivy.core.window import Window
from kivy.uix.label import Label


class Base(Label):
    def __init__(self, **kwargs):
        super(Base, self).__init__(**kwargs)
        Window.bind(on_request_close=self.exit_check)
        self.counter = 0
        self.text = str(self.counter)

    def exit_check(self, *args):
        self.counter += 1
        if self.counter < 5:
            self.text = str(self.counter)
            return True  # block app's exit
        else:
            return False  # let the app close


class SampleApp(App):
    def build(self):
        return Base()


if __name__ == "__main__":
    SampleApp().run()
0
ответ дан embryo 18 March 2019 в 00:04
поделиться
Другие вопросы по тегам:

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