我目前正在尝试在Kivy(Python 3.5)中显示SVG文件,但无法弄清楚如何使用KV语言来实现。
有人能指出我正确的方向吗? 我发现此https://github.com/kivy/kivy/blob/master/examples/svg/main.py并没有帮助。
谢谢。
答案 0 :(得分:0)
您可以使用以下内容:
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()