Я начинаю с kivy, и я уже попал в блокпост, который я не могу решить. Все, что я хочу, - создать динамический класс Ellipse в файле kv, а затем проецировать его на холст виджета.Динамический класс не действует - Ellipse
Что я вижу, так это то, что оно распознается как эллипс, но ни один из атрибутов не берется (в основном размер).
Я дал свой код ниже и снимок экрана, что я вижу. Обратите внимание, что дополнительный размер в одном эллипсе был сделан для удобства просмотра, чтобы сделать проблему более визуальной. без него я вижу три очень больших круга.
Я делаю это на ubuntu 16.04. в случае, если это важно
спасибо заранее за помощь мне :)
main.py
#!usr/bin/python3
from kivy.app import App
from kivy.uix.widget import Widget
class SchemeEditor(Widget):
def __init__(self,**kwargs):
super(SchemeEditor, self).__init__(**kwargs)
class SchemeApp(App):
def build(self):
self.load_kv('scheme.kv')
return SchemeEditor()
if __name__ == '__main__':
SchemeApp().run()
scheme.kv
#:kivy 1.9.1
<[email protected]>:
size: 10, 10
color: 10, 0, 0
<SchemeEditor>:
canvas:
Dot:
id: 1
pos: root.width/2, (root.width/3) * 2
size: 10, 10
Dot:
id: 2
pos: root.width/3, root.height/3
Dot:
id: 3
pos: (root.width/3) * 2, root.height/3
Thanks @inclement :) Теперь я создал виджет и нарисовал эллипс на холсте виджета. Я предполагаю, что это правильный способ сделать это. Есть ли хороший учебник, который подробно рассматривает это? (за исключением Понга). Благодаря :) – Nebelhom