Tkinter 之Canvas畫布

1、參數說明python

參數 做用
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(滾動條)組件相關聯(垂直方向)

方法列表:canvas

canvasx(screenx, gridspacing=None)
-- 將窗口座標系的 X 座標(screenx)轉化爲畫布座標系
-- 若是提供 gridspacing 參數,則轉換結果將爲該參數的整數倍oop

canvasy(screeny, gridspacing=None)
-- 將窗口座標系的 Y 座標(screenx)轉化爲畫布座標系
-- 若是提供 gridspacing 參數,則轉換結果將爲該參數的整數倍spa

create_arc(bbox, **options)
-- 根據 bbox (x1, y1, x2, y2) 建立一個扇形("pieslice")、弓形("chord")或弧形("arc")
-- 新建立的畫布對象位於顯示列表的頂端
-- 建立成功後返回該畫布對象的 IDorm

create_bitmap(position, **options)對象

-- 在 position 指定的位置(x, y)建立一個位圖對象
-- 建立成功後返回該位圖對象的 IDblog

create_image(position, **options)圖片

-- 在 position 指定的位置(x, y)建立一個圖片對象
-- 建立成功後返回該圖片對象的 IDci

create_line(coords, **options)it

-- 根據 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

2、示例代碼

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()

  

3、效果圖

相關文章
相關標籤/搜索