2012-12-02 2 views
1

개별적으로 설정하지 않고 캔버스 개체 (선, 사각형 등)의 기본 색을 설정할 수있는 방법이 있습니까? 나는 기본 색상이 검은 색이라는 것을 알고 있으며, 기본적으로 그 색상을 변경하여 이후에 만드는 모든 것이 녹색이라고 생각합니다. 파이썬에서 Tkinter로 이것을 할 수있는 방법이 있습니까?Tkinter에서 캔버스에 "기본 색상"을 지정하는 방법이 있습니까?

+0

tkdocs.comeffbot.orgItem Specifiers: Handles and Tags뿐만 아니라 참조 즉 위젯이 위젯을 만드는 경우) 또는 뭔가? –

+0

저는 시간에 대해서 이야기하고 있습니다. 그래서 기본 색상을 설정하면 모든 캔바스 객체 (선, 폴리곤 등)가 그때부터 기본 색상이되기를 바랍니다. –

+0

Err - AFAIK 일부 ​​루트 객체를 구성 할 수없고 수동으로 덮어 쓰지 않아야하는 경우가 아니면 AFAIK를 사용하여 객체를 프록시 처리해야합니다. 그래서 오류가 있습니다. 걱정하지 마라 : ( –

답변

1

아니요, 기본 색상을 설정할 방법이 없습니다. 그러나 색상을 변수에 저장하면 새 항목을 만들 때마다 해당 색상을 사용할 수 있습니다.

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

또한 itemconfigure 방법에 ID가 "모두"를 제공하여 한 번에 모든 개체를 변경할 수 있습니다. 예를 들면 : - "앞으로이 점은"무엇 ((특수 "모든"식별자를 포함) 항목 식별자에 대한 자세한 내용은

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

Tags section in the canvas tutorial 더 자세히 읽기

+0

다음 변수를 구현해야 할 것 같아요 :) "모두"에 대해 몰랐는데, 꽤 재미있을 것 같습니다. 나중에 사용할 수도 있지만 지금은 변수가 더 단순 해 보입니다. 감사! –

+2

@ walle1357 : 캔버스 태그는 매우 강력합니다. 예를 들어, 모든 원에 태그 "원"을 부여하고 모든 사각형에 태그 "사각형"을 부여한 다음 원 또는 사각형 만 색을 변경할 수 있습니다. 하나 이상의 태그를 제공 할 수 있으므로 모든 원형 및 사각형에 적용되는 "모양"이라는 다른 태그를 사용할 수 있습니다 (예 : 포함 된 창은 제외). –