Tkinter 畫布



畫布是一個用於繪製圖片或其他複雜佈局的矩形區域。您可以在畫布上放置圖形、文字、部件或框架。

語法

以下是建立此部件的簡單語法:

w = Canvas ( master, option=value, ... )

引數

  • master − 表示父視窗。

  • options − 以下是此部件最常用的選項列表。這些選項可以用逗號分隔的鍵值對的形式使用。

序號 選項及描述
1

Bd

邊框寬度(畫素)。預設為 2。

2

Bg

普通背景顏色。

3

Confine

如果為真(預設值),則畫布無法滾動到滾動區域之外。

4

Cursor

在畫布中使用的游標,例如箭頭、圓形、點等。

5

Height

焦點高亮顯示中顯示的顏色。

6

Relief

Relief 指定邊框的型別。一些值包括 SUNKEN、RAISED、GROOVE 和 RIDGE。

7

Scrollregion

一個元組 (w, n, e, s),定義了畫布可以滾動的區域的大小,其中 w 是左側,n 是頂部,e 是右側,s 是底部。

8

Width

畫布在 X 方向上的大小。

9

Xscrollincrement

如果將此選項設定為某個正尺寸,則畫布只能定位在該距離的倍數上,並且該值將用於按滾動單位進行滾動,例如當用戶點選捲軸末端的箭頭時。

10

Xscrollcommand

如果畫布可滾動,則此屬性應為水平捲軸的 .set() 方法。

11

Yscrollincrement

與 xscrollincrement 類似,但控制垂直移動。

12

Yscrollcommand

如果畫布可滾動,則此屬性應為垂直捲軸的 .set() 方法。

Canvas 部件可以支援以下標準專案:

  • arc − 建立一個弧形專案,可以是弦、扇形或簡單的弧形。

coord = 10, 50, 240, 210

arc = canvas.create_arc(coord, start=0, extent=150, fill="blue")
  • image − 建立一個影像專案,可以是 BitmapImage 或 PhotoImage 類的例項。

filename = PhotoImage(file = "sunshine.gif")

image = canvas.create_image(50, 50, anchor=NE, image=filename)
  • line − 建立一個線段專案。

line = canvas.create_line(x0, y0, x1, y1, ..., xn, yn, options)
  • oval − 在給定的座標處建立一個圓形或橢圓形。它需要兩對座標;橢圓形邊界矩形的左上角和右下角。

oval = canvas.create_oval(x0, y0, x1, y1, options)
  • polygon − 建立一個多邊形專案,至少需要三個頂點。

oval = canvas.create_polygon(x0, y0, x1, y1,...xn, yn, options)

示例

自己嘗試以下示例 -

from tkinter import *
from tkinter import messagebox
top = Tk()
C = Canvas(top, bg="blue", height=250, width=300)
coord = 10, 50, 240, 210
arc = C.create_arc(coord, start=0, extent=150, fill="red")
line = C.create_line(10,10,200,200,fill='white')
C.pack()
top.mainloop()

執行上述程式碼後,將產生以下結果 -

tkinter canvas
python_gui_programming.htm
廣告