'''Tkinter チュートリアル キャンバス 章 (3)'''
'''16. 項目の移動''''
# -*- コーディング: cp936 -*-
# move は x、y を指定しますはオフセットにあります
from Tkinter import *
root = Tk()
# Canvas を作成し、その背景色を白に設定します
cv = Canvas(root,bg = 'white')
# 2 つの同一の長方形を作成し、動きを比較しますbefore and after
rt1 = cv.create_rectangle( 10,10,110,110, tags = ('r1','r2','r3')) cv.create_rectangle( 10,10,110,110, tags = ('r1','r2','r3'))
# Move rt1
cv.move(rt1,20,-10) cv.pack() root.mainloop()
# move は、x と y の相対オフセットを指定できます。負の値にすることもできます
'''17 項目を削除します。 -* -code: cp936 -* -
# delete 指定された iotem を削除します
from Tkinter import * root = Tk() cv = Canvas(root,bg = 'white')
rt1 = cv.create_rectangle( 10,10,110,110, tags = ('r1','r2','r3')) r2 = cv.create_rectangle( 20,20,110,110, tags = ('s1','s2','s3'))
CV .delete(rt1 )
# タグを使ってr2を削除
cv.delete('s1') cv.pack() root.mainloop()
'''18.Zoom item'''
# -*-coding: cp936 -*-
#scale スケーリング項目、計算式:(coords - offset)*scale + offset
from Tkinter import * root = Tk() cv = Canvas(root,bg = 'white')
rt1 = cv.create_rectangle( 10,10,110,110, tags = ('r1','r2','r3'))
cv.scale(rt1,0,0,1,2) cv.pack() root.mainloop()
'''19 です。 -*- コーディング: cp936 -*-
# tag_bind を使用してアイテムとイベントをバインドします
from Tkinter import * root = Tk()
cv = Canvas(root,bg = 'white')
# 3 つの長方形を作成します
rt1 = cv.create_rectangle( 10,10,110,110, width = 8, tags = ('r1','r2','r3')) def printRect(event): print 'rectangle'
# 項目とイベントをバインドします
cv.tag_bind('r1','<Button-1>',printRect) cv.pack() root.mainloop()
# イベントは、四角形の境界線がクリックされた場合にのみトリガーされます
''' 20. バインドイベントを追加します'''
# -*- コーディング: cp936 -*-
# tag_bind を使用して項目とイベントをバインドすることは、参照テストの結果と矛盾します。
from Tkinter import * root = Tk()
cv = Canvas(root,bg = 'white')
# 3つの長方形を作成します
rt1 = cv.create_rectangle( 10,10,110,110, width = 8, tags = ('r1','r2','r3')) def printRect(event): print 'rectangle' def printLine(event): print 'line'
# バインド項目と右クリック イベント
cv.tag_bind('r1','<Button-1>',printRect)
'''21. 新しいアイテムを既存のタグにバインドします
# -*- コーディング: cp936 -* -
# tag_bind を使用して項目とイベントをバインドします。テスト結果は参照ステートメントと一致しません
cv.tag_bind('r1','<Button-3>',printLine) cv.pack() root.mainloop()
# 長方形を 3 つ作成します
from Tkinter import * root = Tk()
# 項目をバインドしてイベントを右クリックします
cv.tag_bind('r1','
# 行を作成し、そのタグを「r1」に設定します
rt1 = cv.create_rectangle(
10,10,110,110,
width = 8,
tags = ('r1','r2','r3'))
def printRect(event):
print 'rectangle'
def printLine(event):
print 'line'
# イベントをタグ ('r1') にバインドした後、新しいアイテムを作成し、バインドされたイベントのタグも指定します。これは参照と矛盾します。上記は、Tkinter チュートリアルの Canvas 章 (3) の内容です。さらに関連する内容については、PHP 中国語 Web サイト (m.sbmmt.com) に注目してください。