ホームページ  >  記事  >  ウェブフロントエンド  >  Tkinter チュートリアル キャンバスの章 (3)

Tkinter チュートリアル キャンバスの章 (3)

黄舟
黄舟オリジナル
2017-01-17 10:15:051413ブラウズ


'''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')


# RECTANGLE を 2 つ作成します



rt1 = cv.create_rectangle(
10,10,110,110,
tags = ('r1','r2','r3'))
r2 = cv.create_rectangle(
20,20,110,110,
tags = ('s1','s2','s3'))
E
# ID を使用して RT1 を削除します

CV .delete(rt1 )


# タグを使ってr2を削除


cv.delete('s1')
cv.pack()
root.mainloop()


# アイテム(id/タグ)を削除する2つの方法


'''18.Zoom item'''


# -*-coding: cp936 -*-


#scale スケーリング項目、計算式:(coords - offset)*scale + offset



from Tkinter import *
root = Tk()
cv = Canvas(root,bg = 'white')

# 長方形を 2 つ作成


rt1 = cv.create_rectangle(
10,10,110,110,
tags = ('r1','r2','r3'))


# y 座標を元の 2 桁に拡大します、x 座標値は変更されません



cv.scale(rt1,0,0,1,2)
cv.pack()
root.mainloop()


# スケールのパラメータは (self,xoffset,yoffset,xscale,yscale)


'''19 です。 -*- コーディング: cp936 -*-


# tag_bind を使用してアイテムとイベントをバインドします


from Tkinter import *
root = Tk()


# Canvas を作成し、その背景色を白に設定します


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(&#39;r1&#39;,&#39;<Button-1>&#39;,printRect)
cv.pack()
root.mainloop()


# イベントは、四角形の境界線がクリックされた場合にのみトリガーされます


''' 20. バインドイベントを追加します'''


# -*- コーディング: cp936 -*-


# tag_bind を使用して項目とイベントをバインドすることは、参照テストの結果と矛盾します。



from Tkinter import *
root = Tk()


# キャンバスを作成し、背景色を白に設定します


cv = Canvas(root,bg = &#39;white&#39;)




# 3つの長方形を作成します


rt1 = cv.create_rectangle(
10,10,110,110,
width = 8,
tags = (&#39;r1&#39;,&#39;r2&#39;,&#39;r3&#39;))
def printRect(event):
print &#39;rectangle&#39;
def printLine(event):
print 'line'


# アイテムを左クリックイベントにバインドします


りー

# バインド項目と右クリック イベント



cv.tag_bind(&#39;r1&#39;,&#39;<Button-1>&#39;,printRect)

# このイベントは、四角形の境界線がクリックされた場合にのみトリガーされます。デフォルトでは、この項目に処理関数が追加されません。元の関数は置き換えられません。イベント関数、結果の例: 左と右の両方のキーに応答します



'''21. 新しいアイテムを既存のタグにバインドします

# -*- コーディング: cp936 -* -


# tag_bind を使用して項目とイベントをバインドします。テスト結果は参照ステートメントと一致しません



cv.tag_bind(&#39;r1&#39;,&#39;<Button-3>&#39;,printLine)
cv.pack()
root.mainloop()


# Canvas を作成し、その背景色を白に設定します


cv = Canvas(root,bg) = 'white' )


# 長方形を 3 つ作成します



from Tkinter import *
root = Tk()


# 項目をバインドしてイベントを左クリックします


cv.tag_bind('r1','15ce60bce8d7fb5203c17f3141fee655',printRect)


# 項目をバインドしてイベントを右クリックします


cv.tag_bind('r1','5511d829731dc3fdf5788f4a948f4312',printLine)


# 行を作成し、そのタグを「r1」に設定します



rt1 = cv.create_rectangle(
10,10,110,110,
width = 8,
tags = (&#39;r1&#39;,&#39;r2&#39;,&#39;r3&#39;))
def printRect(event):
print &#39;rectangle&#39;
def printLine(event):
print 'line'


# イベントをタグ ('r1') にバインドした後、新しいアイテムを作成し、バインドされたイベントのタグも指定します。これは参照と矛盾します。上記は、Tkinter チュートリアルの Canvas 章 (3) の内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。