从 python 脚本 Kivy 更改小部件的大小

Change size of widget from python script Kivy

提问人:Simon Van den Bossche 提问时间:8/27/2018 最后编辑:Simon Van den Bossche 更新时间:8/27/2018 访问量:379

问:

我正在制作一个数独求解器应用程序。该应用程序将让您拍摄数独的照片,将其转换为网格中正确位置的数字并解决它。

我现在正在开发应用程序 (GUI)。我在 kivy 中制作该应用程序,因为它对 android 友好。该应用程序的一个部分包含一个进度条。

对于进度条,我正在考虑一个变宽的小部件。 我需要 kivy 脚本中 python 脚本中的变量,如果我更改该变量,则需要更新变量和进度条。 我怎样才能得到这样的变量。

这就是我现在得到的。 Python 脚本

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 脚本

#: 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)
蟒蛇-3.x kivy

评论

1赞 John Anderson 8/27/2018
不知道你在问什么。你是说你不想使用 kivy 进度条吗?
0赞 Simon Van den Bossche 8/27/2018
我最初想自己做,但这正是我所需要的!谢谢。

答: 暂无答案