Изменить размер виджета из скрипта Python Kivy - PullRequest
0 голосов
/ 27 августа 2018

Я делаю приложение для решения судоку.Приложение позволит вам сфотографировать судоку, преобразовать его в числа в нужном месте в сетке и решить его.

Я сейчас работаю над приложением (GUI).Я делаю приложение в Kivy, потому что это дружественный для Android.Одна из частей приложения содержит индикатор выполнения.

Для индикатора выполнения я думал, что виджет становится шире.Мне нужна переменная из скрипта python в скрипте kivy, и если я изменю эту переменную, она должна обновить переменную и индикатор выполнения.Как я могу получить такую ​​переменную.

Это то, что я получил сейчас.Python Script

from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen, FadeTransition
from kivy import require
from kivy.lang import Builder
from kivy.uix.behaviors.button import ButtonBehavior
from kivy.uix.widget import Widget
from kivy.core.window import Window
from kivy.uix.floatlayout import FloatLayout

require("1.10.1")


class CameraScreen(Screen):
    pass


class PictureCheckScreen(Screen):
    pass


class PictureProcessingScreen(Screen):
    pass


class SolveScreen(Screen):
    pass


class ScreenManagement(ScreenManager):
    pass


class CircularButton(ButtonBehavior, Widget):
    pass


presentation = Builder.load_file("main.kv")


class MainApp(App):
    def build(self):
        return presentation


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

Kivy script

#: import Window kivy.core.window.Window

<Button>:
    background_color: (0.95, 0.95, 0.95, 1.0)


ScreenManagement:
    CameraScreen:
    PictureCheckScreen:
    # PictureProcessingScreen:
    # SolveScreen:

<CameraScreen>:
    name: "camera"
    Widget:
        Button:
            text: "HOME"
            size: (Window.width * .15, Window.height * .05)
            pos: (Window.width * .85, Window.height * .95)

    CircularButton:
        background_color: (1, 0, 0, 1)
        pos: (Window.width * .425, Window.height * .05)
        on_release: app.root.current = "picture check"
        canvas:
            Color:
                rgba: ((1,1,1,1) if self.state == "normal" else (.5,.5,.5,1))
            Ellipse:
                pos: (Window.width * .425, Window.height * .05)
                size: (Window.width * .15, Window.width * .15)

<PictureCheckScreen>:
    name: "picture check"
    Widget:
        Button:
            size: (Window.width * .15, Window.width * .15)
            pos: (Window.width * .15, Window.height * .05)
            on_release: app.root.current = "camera"
            Image:
                source: "kivy/cross.png"
                size: (self.parent.width * .9, self.parent.height * .9)
                pos: (self.parent.x + self.parent.width * 0.05, self.parent.y + self.parent.height * 0.05)

        Button:
            size: (Window.width * .15, Window.width * .15)
            pos: (Window.width * .7, Window.height * .05)
            Image:
                source: "kivy/checkmark.png"
                size: (self.parent.width * .9, self.parent.height * .9)
                pos: (self.parent.x + self.parent.width * 0.05, self.parent.y + self.parent.height * 0.05)

        Button:
            text: "HOME"
            size: (Window.width * .15, Window.height * .05)
            pos: (Window.width * .85, Window.height * .95)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...