Python Tkinter 畫布(Canvas)
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()
測試輸出結果如下:
