簡體   English   中英

如何將畫布添加到布局(python kivy)

[英]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().canvasAnchorlayout創建一個新的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM