首頁  >  文章  >  web前端  >  Tkinter教學之Canvas篇(3)

Tkinter教學之Canvas篇(3)

黄舟
黄舟原創
2017-01-17 10:15:051475瀏覽


'''Tkinter教程之Canvas篇(3)'''


'''16.移動item'''


# -*- coding: cp936 -*-


# 指定
# y在偏移量


from Tkinter import *


root = Tk()


# 創建一個Canvas,設定其背景色為白色

前後的不同


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


# 移動rt1


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


# move可以指定x,y在相對偏移量,可以刪除負值
''7.


# -*- coding: cp936 -*-


# delete刪除給定的item



cv.move(rt1,20,-10)
cv.pack()
root.mainloop()

# 創建兩個rectangle




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

# 使用id刪除rt1


cv .delete(rt1)


# 使用tag刪除r2


rt1 = cv.create_rectangle(
10,10,110,110,
tags = ('r1','r2','r3'))
r2 = cv.create_rectangle(
20,20,110,110,
tags = ('s1','s2','s3'))

# 兩種方法刪除item(id/tag)



'''18.縮放item''' coding: cp936 -*-


# scale縮放item,計算公式:(coords - offset)*scale + offset



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

# 建立兩個rectangle


原來的2位,x座標值不變



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

# scale的參數為(self,xoffset,yoffset,xscale,yscale)



'''19.綁定

# -*- coding: cp936 -*-


# 使用tag_bind來綁定item與事件


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


# 建立一個Canvas,將其背景建立為白色背景為白色,建立其背景為白色。個rectangle



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


# 綁定item與事件



from Tkinter import *
root = Tk()


#點擊到矩形的邊框時才會觸發事件綁定。

# -*- coding: cp936 -*-


# 使用tag_bind來綁定item與事件,與參考上測試結果不一致。



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


# 建立一個Canvas,設定其背景色為白色



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

# 綁定item與右鍵事件



from Tkinter import *
root = Tk()

# 只有點擊到矩形的邊框時才會觸發事件,不使用add參數,默認就是向這個item添加一個處理函數,它不會替換原來的事件函數,範例結果:既響應左鍵又響應右鍵



'''21.綁定新的item與現有的tags'''

# -*- coding: cp936 -*-



# -*- coding: cp936 -*-


# 使用tag_bind來綁定item與事件,測試結果與參考上的說法不一致


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


# 建立一個Canvas,設定其背景色為白色

cv )


# 建立三個rectangle



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'


# 綁定item與左鍵事件



定item與右鍵事件


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

# 建立一個line,並將其tags設定為'r1'



# 將事件與tag('r1')綁定後,建立新的item並指定已綁定事件的tag,新創建的item同樣也與事件綁定,這個與參考上的說法也不一致


以上就是Tkinter教程之Canvas篇(3)的內容,更多相關內容請關注PHP中文網(www.php.cn)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn