-
先看效果
其中藍色區域爲一塊畫布(Canvas)區域,在畫布上放置了圖片,畫了圓形、方形、扇形;下方的按鈕可以調用方法移動左邊的矩形
-
Canvas應用實例
canvas = tk.Canvas(window, bg='blue', height=100, width=200) # 注意:tkinter中的座標系左上角爲原點,向右爲x軸正向,向下爲y軸正向 # 在canvas(畫布)上放張圖片 image_file = tk.PhotoImage(file='data/test1.gif') image = canvas.create_image(5, 5, anchor='nw', image=image_file) # 首先傳入的是錨點座標 # anchor指定圖片的那個點爲錨點可選值有n s w e nw ne sw se x0, y0, x1, y1 = 50, 50, 80, 80 # canvas的座標是以左上角爲(0,0),往右爲x正半軸,往下爲y正半軸 line = canvas.create_line(x0, y0, x1, y1) # 畫直線 # 兩個點的四個座標值 oval = canvas.create_oval(x0, y0, x1, y1, fill='red') # 畫橢圓 # 在左上角(x0, y0)和右下角(x1, y1)框住的矩形內畫一個橢圓,如果框了一個正方形,就是畫了一個正圓 arc = canvas.create_arc(x0+30, y0+30, x1+30, y1+30, start=0, extent=180) # 畫扇形 # 四個座標值與上面畫圓的座標值一樣,start爲角度起始,extent爲角度結束 rect = canvas.create_rectangle(100, 10, 100+50, 10+20) # 畫矩形 # canvas.delete(rect) # 在畫布上刪除某個形狀 rect2 = canvas.create_rectangle(120, 20, 110+50, 20+20) print(canvas.coords(rect)) # 獲得圖形座標(就是畫圖時傳入的值) canvas.pack() # 放置畫布
-
下方的Button
def moveit(): canvas.move(rect, 0, 2) # 移動某個圖形,下移動 tk.Button(window, text='move', command=moveit).pack()
-
參考文獻
代碼主要來自 Canvas 畫布,略有改動
tkinter畫圖Canvas應用實例
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.