2012-12-02 13 views
1

有沒有一種方法可以設置畫布對象(線條,矩形等)的默認顏色,而無需單獨設置每個對象?我知道默認顏色是黑色的,我基本上只是想改變它,以便我隨後創建的所有東西都是綠色。有沒有辦法在Python中用Tkinter做到這一點?有沒有一種方法可以在Tkinter中使用畫布創建「默認顏色」?

+0

更加緊密地閱讀 - 什麼是「這時開始」(即如果小部件創建小部件)或什麼? –

+0

我說的是時間,所以如果我設置默認顏色,我希望所有的畫布對象(線,多邊形等)都是默認的顏色。 –

+0

錯誤 - AFAIK,除非你可以配置一些根對象,並手動覆蓋什麼不應該是這種情況下,那麼你將不得不代理的對象將是討厭的 - 所以錯 - 我會退出這個我害怕:( –

回答

1

不,沒有辦法設置默認顏色。但是,如果將顏色存儲在變量中,則每當創建新項目時都可以使用該顏色。

self.my_color = "red" 
... 
self.canvas.create_rectangle(..., fill=my_color) 

您還可以通過給id爲「所有」的itemconfigure方法,一次更改的所有對象。例如:

self.my_color = "green" 
self.canvas.itemconfigure("all", fill=self.my_color) 

更多關於項目標識符(包括特殊的「全部」標識符)看到effbot.orgItem Specifiers: Handles and Tags還有Tags section in the canvas tutorialtkdocs.com

+0

我猜我必須實現這個變量:)我不知道「全部」,這似乎很有趣。我可能會稍後使用它,但現在變量似乎更簡單。謝謝! –

+2

@ walle1357:canvas標籤非常強大。例如,您可以給所有圓圈標記「circle」並將所有方塊標記爲「rectangle」,然後僅更改圓圈的顏色或僅更改方塊的顏色。你可以給物品多個標籤,所以你可以有另一個名爲「形狀」的標籤適用於所有的圓形和方形(但不是嵌入式窗口)。 –

相關問題