Отображение файла SVG в Kivy - PullRequest
0 голосов
/ 03 июня 2019

В настоящее время я пытаюсь отобразить файл SVG в Kivy (Python 3.5), но не могу понять, как этого добиться с помощью языка KV.

Кто-нибудь может указать мне правильное направление? Я обнаружил, что https://github.com/kivy/kivy/blob/master/examples/svg/main.py не поможет.

Заранее спасибо.

1 Ответ

0 голосов
/ 20 июня 2019

Вы можете использовать что-то вроде этого:

from kivy.uix.scatter import Scatter
from kivy.app import App
from kivy.graphics.svg import Svg
from kivy.uix.floatlayout import FloatLayout
from kivy.lang import Builder


Builder.load_string("""
<SvgWidget>:
    do_rotation: False
<FloatLayout>:
    canvas.before:
        Color:
            rgb: (1, 1, 1)
        Rectangle:
            pos: self.pos
            size: self.size
""")

class SvgWidget(Scatter):
    def __init__(self, filename):
        super(SvgWidget, self).__init__()
        with self.canvas:
            svg = Svg(filename)
        self.size = svg.width, svg.height


class SvgApp(App):
    def build(self):
        self.root = FloatLayout()

        filename = "path_to_your_svg_file.svg"
        svg = SvgWidget(filename, size_hint=(None, None), pos_hint={'center_x': 0.5, 'top': 1})
        self.root.add_widget(svg)
        svg.scale = 2


if __name__ == '__main__':
    SvgApp().run()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...