一、参数说明
参数 | 作用 |
---|---|
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()
三、效果图