Python Tkinter 畫布(Canvas)

Python GUI編程 Python GUI編程

Python Tkinter 畫布(Canvas)組件和 html5 中的畫布一樣,都是用來繪圖的。您可以將圖形,文本,小部件或框架放置在畫布上。

語法

語法格式如下:

w = Canvas ( master, option=value, ... )
  • master: 按鈕的父容器。

  • options: 可選項,即該按鈕的可設置的屬性。這些選項可以用鍵 = 值的形式設置,並以逗號分隔。

序號 可選項 & 描述
1

bd

邊框寬度,單位像素,默認為 2 像素。

2

bg

背景色

3

confine

如果為 true (默認), 畫布不能滾動到可滑動的區域外。

4

cursor

游標的形狀設定,如arrow, circle, cross, plus 等

5

height

高度

6

highlightcolor

要高亮的顏色

7

relief

邊框樣式,可選值為 FLAT、SUNKEN、RAISED、GROOVE、RIDGE。 默認為 FLAT。

8

scrollregion

一個元組 tuple (w, n, e, s) ,定義了畫布可滾動的最大區域,w 為左邊,n 為頭部,e 為右邊,s 為底部。

9

width

畫布在 X 坐標軸上的大小。

10

xscrollincrement

用於滾動請求水準滾動的數量值。

11

xscrollcommand

水準滾動條,如果畫布是可滾動的,則該屬性是水準滾動條的 .set()方法。

12

yscrollincrement

類似 xscrollincrement, 但是垂直方向。

13

yscrollcommand

垂直滾動條,如果畫布是可滾動的,則該屬性是垂直滾動條的 .set()方法。

Canvas 組件支持以下標準選項:

arc − 創建一個扇形

coord = 10, 50, 240, 210
arc = canvas.create_arc(coord, start=0, extent=150, fill="blue")

image − 創建圖像

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)

實例

實例中點擊按鈕會顯示一個資訊:

實例

#!/usr/bin/python # -*- coding: UTF-8 -*- import Tkinter import tkMessageBox # -*- coding: cp936 -*- # 創建一個矩形,指定畫布的顏色為白色 from Tkinter import * root = Tk() # 創建一個Canvas,設置其背景色為白色 cv = Canvas(root,bg = 'white') # 創建一個矩形,座標為(10,10,110,110) cv.create_rectangle(10,10,110,110) cv.pack() root.mainloop() # 為明顯起見,將背景色設置為白色,用以區別 root top.mainloop()

測試輸出結果如下:

Python GUI編程 Python GUI編程