[英]how to add canvas to Layout(python kivy)
我想在“布局”中添加一些畫布,但是當我啟動這個小代碼時,它會寫成“黑色”屏幕...
我使用kivy 1.10和python 3.6.4
誰能幫我 ?
以下代碼:
from kivy.app import App
from kivy.graphics import Color,Bezier
from kivy.uix.anchorlayout import AnchorLayout
class AncLayout(AnchorLayout):
with AnchorLayout().canvas:
Color(.1,.88,.71,.57)
Bezier(points = (100,100,70,70,40,70,100,100),
segments = 120,
dash_length = 9,
dash_offset = 3)
class MasterApp(App):
def build(self):
return AncLayout()
if __name__ == '__main__':
MasterApp().run()
非常感謝您的幫助)
問題是您AnchorLayout
曲線添加到已創建的AnchorLayout
,但尚未添加到應用程序中,因此,下一行帶有AnchorLayout().canvas
的Anchorlayout
創建一個新的Anchorlayout
。 您必須在構造函數中執行以下任務:
from kivy.app import App
from kivy.graphics import Color,Bezier
from kivy.uix.anchorlayout import AnchorLayout
class AncLayout(AnchorLayout):
def __init__(self, *args, **kwargs):
AnchorLayout.__init__(self, *args, **kwargs)
with self.canvas:
Color(.1,.88,.71,.57)
Bezier(points = (100,100,70,70,40,70,100,100),
segments = 120,
dash_length = 9,
dash_offset = 3)
class MasterApp(App):
def build(self):
return AncLayout()
if __name__ == '__main__':
MasterApp().run()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.