一、參數說明
參數 | 作用 |
---|---|
background(bg) | 指定 Canvas 的背景顏色 |
borderwidth(bd) | 指定 Canvas 的邊框寬度 |
closeenough | 指定一個距離,當鼠標與畫布對象的距離小於該值時,鼠標被認為在畫布對象上 該選項是一個浮點類型的值 |
confine | 指定 Canvas 組件是否允許滾動超出 scrollregion 選項指定的范圍 默認值是 True |
cursor | 指定當鼠標在 Canvas 上飄過的時候的鼠標樣式 |
height | 指定 Canvas 的高度,單位是像素 |
width | 指定 Canvas 的寬度 單位是像素 |
highlightbackground | 指定當 Canvas 沒有獲得焦點的時候高亮邊框的顏色 |
highlightcolor | 指定當 Canvas 獲得焦點的時候高亮邊框的顏色 |
highlightthickness | 指定高亮邊框的寬度 |
relief | 指定 Canvas 的邊框樣式 默認值是 "flat" 其他可以選擇的值是 "sunken","raised","groove" 和 "ridge" |
scrollregion | 指定 Canvas 可以被滾動的范圍 該選項的值是一個 4 元組(x1, y1, x2, y2)表示的矩形 |
selectbackground | 指定當畫布對象被選中時的背景色 |
selectborderwidth | 指定當畫布對象被選中時的邊框寬度(選中邊框) |
selectforeground | 指定當畫布對象被選中時的前景色 |
state | 設置 Canvas 的狀態:"normal" 或 "disabled" 默認值是 "normal" 注意:該值不會影響畫布對象的狀態 |
takefocus | 指定使用 Tab 鍵可以將焦點移動到輸入框中 默認是開啟的,可以將該選項設置為 False 避免焦點在此輸入框中 |
xscrollcommand | 與 scrollbar(滾動條)組件相關聯(水平方向) |
yscrollcommand | 與 scrollbar(滾動條)組件相關聯(垂直方向) |
方法列表:
canvasx(screenx, gridspacing=None)
-- 將窗口坐標系的 X 坐標(screenx)轉化為畫布坐標系
-- 如果提供 gridspacing 參數,則轉換結果將為該參數的整數倍
canvasy(screeny, gridspacing=None)
-- 將窗口坐標系的 Y 坐標(screenx)轉化為畫布坐標系
-- 如果提供 gridspacing 參數,則轉換結果將為該參數的整數倍
create_arc(bbox, **options)
-- 根據 bbox (x1, y1, x2, y2) 創建一個扇形("pieslice")、弓形("chord")或弧形("arc")
-- 新創建的畫布對象位於顯示列表的頂端
-- 創建成功后返回該畫布對象的 ID
create_bitmap(position, **options)
-- 在 position 指定的位置(x, y)創建一個位圖對象
-- 創建成功后返回該位圖對象的 ID
create_image(position, **options)
-- 在 position 指定的位置(x, y)創建一個圖片對象
-- 創建成功后返回該圖片對象的 ID
create_line(coords, **options)
-- 根據 coords 給定的坐標創建一條或多條線段
-- 如果給定的坐標多余兩個點,則會首尾相連變成一條折線
-- 創建成功后返回該畫布對象的 ID
create_oval(bbox, **options)
-- 根據限定矩形 bbox 繪制一個橢圓
-- 新創建的畫布對象位於顯示列表的頂端
-- 創建成功后返回該畫布對象的 ID
create_polygon(coords, **options)
-- 根據 coords 給定的坐標繪制一個多邊形
-- 新創建的畫布對象位於顯示列表的頂端
-- 創建成功后返回該畫布對象的 ID
create_rectangle(bbox, **options)
-- 根據限定矩形 bbox 繪制一個矩形
-- 新創建的畫布對象位於顯示列表的頂端
-- 創建成功后返回該畫布對象的 ID
create_text(position, **options)
-- 在 position 指定的位置(x, y)創建一個文本對象
-- 創建成功后返回該文本對象的 ID
create_window(position, **options)
-- 在 position 指定的位置(x, y)創建一個窗口組件
-- 創建成功后返回該窗口組件的 ID
二、示例代碼
import tkinter as tk window = tk.Tk() # 設置窗口大小 winWidth = 600 winHeight = 400 # 獲取屏幕分辨率 screenWidth = window.winfo_screenwidth() screenHeight = window.winfo_screenheight() x = int((screenWidth - winWidth) / 2) y = int((screenHeight - winHeight) / 2) # 設置主窗口標題 window.title("Canvas菜單參數說明") # 設置窗口初始位置在屏幕居中 window.geometry("%sx%s+%s+%s" % (winWidth, winHeight, x, y)) # 設置窗口圖標 window.iconbitmap("./image/icon.ico") # 設置窗口寬高固定 window.resizable(0, 0) canvas = tk.Canvas(window, width=200, height=200, bg="#fff") canvas.pack(); # 畫一條線 canvas.create_line(0, 100, 200, 100, fill="#f00") # 畫一個矩形 canvas.create_rectangle(50, 50, 150, 150, fill="blue") # 畫一個橢圓 canvas.create_oval(60, 60, 140, 140, fill="red") # 畫文字 canvas.create_text(100, 100, text = "python", fill="#fff") window.mainloop()
三、效果圖