2017-10-06 5 views
0

PyCharmに砂時計を描画する必要があります。私は以下を試しましたが、何らかの理由でsetFillコマンドが機能しません。それは、canvas.drawRect(x, y, width, height).のためだけに動作します。私は、プログラムが線が三角形を作っていることを認識せず、したがってそれを埋めることができないと考えています。グラフィックライブラリを使用して塗りつぶしポリゴンを描画する

私はそれをどのように修正することができますか?

canvas.setFill("blue") 
canvas.drawLine(100, 50, 200, 50) 
canvas.drawLine(100, 50, 150, 200) 
canvas.drawLine(200, 50, 150, 200) 

答えて

0

トレースしている行は、塗りつぶし可能なオブジェクトを定義していません。 setFill()メソッドをサポートするオブジェクトを定義する必要があります。

from graphics import * 

def main(): 
    win = GraphWin("My Canvas", 300, 300) 

    poly_points = [Point(100, 50), Point(200, 50), Point(150, 200)] 

    p = Polygon(poly_points) 
    p.setFill('red') 
    p.draw(win) 

    c = Circle(Point(50,50), 10) 
    c.setFill('blue') 
    c.draw(win) 

    win.getMouse() # Pause to view result 
    win.close() # Close window when done 

main() 
+0

ありがとうございました!あなたの答えは、私がやらなければならなかった唯一のことは、必要なコードを見つけるために、グラフィックスライブラリを読んでいることに気付きました! –

関連する問題