'''Tkinter Tutorial Canvas Chapter (2)'''
'''9. 항목 태그 생성'''
# - *- 코딩: cp936 -*-
# 속성 태그를 사용하여 항목의 태그를 설정
# 캔버스 메소드 gettags를 사용하여 지정된 항목의 태그를 가져옵니다. item
from Tkinter import * root = Tk()
# 캔버스를 만들고 배경색을 흰색으로 설정합니다.
cv = Canvas(root,bg = 'white')
# 태그를 사용하여 항목을 지정합니다. tag('r1' )
rt = cv.create_rectangle(10,10,110,110, tags = 'r1' ) cv.pack() print cv.gettags(rt)
# 여러 태그를 지정하려면 태그 속성을 사용합니다. 즉, 태그 속성을 재설정합니다.
cv.itemconfig(rt,tags = ('r2','r3','r4')) print cv.gettags(rt) root.mainloop()
# 항목의 좌표를 동적 수정
'''10. 여러 항목이 동일한 태그를 사용합니다.''
# -*- 코딩: cp936 -*-
# 여러 컨트롤이 동일한 태그를 사용합니다
from Tkinter import * root = Tk()
# 캔버스를 만들고 배경색을 흰색으로 설정합니다
cv = Canvas (root,bg = 'white')
# 태그를 사용하여 태그 지정('r1')
rt = cv.create_rectangle(10,10,110,110, tags = ('r1','r2','r3') ) cv.pack() cv.create_rectangle(20,20,80,80,tags = 'r3') print cv.find_withtag('r3') root.mainloop()
# 항목 좌표를 동적으로 수정합니다.
#fid_withtag는 태그에 바인딩된 모든 항목을 반환합니다.
'''11. 태그를 통해 항목에 액세스''
# -*- 코딩: cp936 -*-
# 태그 값을 얻으면 항목을 가져오고 이 항목에 대한 관련 설정을 할 수 있습니다.
from Tkinter import * root = Tk()
# 캔버스를 만들고 배경색을 흰색으로 설정
cv = Canvas(root,bg = 'white' )
# 태그를 사용하여 태그 지정('r1')
rt = cv.create_rectangle(10,10,110,110, tags = ('r1','r2','r3') ) cv.pack() cv.create_rectangle(20,20,80,80,tags = 'r3')
# 모든 태그를 태그('r3)로 변환 ') 바인딩된 항목 테두리 색상이 파란색으로 설정되었습니다
for item in cv.find_withtag('r3'): cv.itemconfig(item,outline = 'blue') root.mainloop()
# 태그('r3')에 바인딩된 항목 테두리 색상을 동적으로 수정합니다
'''13. 다른 항목에 태그 추가''
# -*- 코딩: cp936 -*-
# addtag_를 사용하여 추가 다음 항목에 태그 추가
from Tkinter import * root = Tk()
# 캔버스를 생성하고 배경색을 흰색으로 설정
cv = Canvas(root,bg = 'white')
# 직사각형 3개 만들기
rt1 = cv.create_rectangle( 10,10,110,110, tags = ('r1','r2','r3')) rt2 = cv.create_rectangle( 20,20,80,80, tags = ('s1','s2','s3')) rt3 = cv.create_rectangle( 30,30,70,70, tags = ('y1','y2','y3'))
# rt2의 이전 항목에 r4 추가
cv.addtag_above('r4',rt2)
# r4 추가 rt2의 이전 항목 다음 항목이 추가됩니다 r5
cv.addtag_below('r5',rt2) for item in [rt1,rt2,rt3]: print cv.gettags(item) cv.pack() root.mainloop()
#Canvas는 스택 기술을 사용하므로 새로 생성된 항목은 항상 이전에 생성된 항목 위에 위치하므로 위의 항목이 호출되면 rt2 위 항목이 rt3임을 확인하므로 rt3에 tag('r4')가 추가됩니다. 마찬가지로 add_below는 다음 항목을 찾습니다.
'''14.다른 상품 반품'''
# -*- 코딩: cp936 -*-
# 사용 find_xxx 이전 또는 다음 항목 찾기
from Tkinter import * root = Tk()
# 캔버스를 생성하고 배경색을 흰색으로 설정
cv = Canvas(root,bg = 'white')
# 직사각형 3개 만들기
rt1 = cv.create_rectangle( 10,10,110,110, tags = ('r1','r2','r3')) rt2 = cv.create_rectangle( 20,20,80,80, tags = ('s1','s2','s3')) rt3 = cv.create_rectangle( 30,30,70,70, tags = ('y1','y2','y3'))
# rt2의 이전 항목을 찾아 테두리 색상을 빨간색으로 설정
cv.itemconfig(cv.find_above(rt2),outline = 'red')
# rt2의 다음 항목을 찾아 테두리 색상을 녹색으로 설정
cv.itemconfig(cv.find_below(rt2),outline = 'green') cv.pack() root.mainloop()
#Canvas는 스택 기술을 사용하여 새로 생성됨 항목은 항상 이전에 생성된 항목 위에 위치합니다. 항목이므로 위를 호출하면 rt2 위의 항목을 rt3으로 찾으므로 rt3의 테두리 색상이 빨간색으로 설정됩니다. 마찬가지로 add_below는 아래 항목을 찾습니다.
위 내용은 Tkinter Tutorial의 Canvas Chapter(2) 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(m.sbmmt.com)를 참고해주세요!