python画布组件_Python Tkinter画布:Canvas组件详解

本文介绍了Tkinter的Canvas组件,它是用于图形绘制的基础组件,可用于创建图形、图表和自定义小部件。Canvas支持多种图形元素,如线条、圆、多边形等,并可以通过参数设置其样式和行为。通过Canvas,开发者可以实现动态和交互式的图形界面。
摘要由CSDN通过智能技术生成

## 简介

Canvas(画布)组件为 Tkinter 的图形绘制提供了基础。Canvas 是一个高度灵活的组件,你可以用它绘制图形和图表,创建图形编辑器,并实现各种自定义的小部件。

## 何时使用 Canvas 组件?

Canvas 是一个通用的组件,通常用于显示和编辑图形。你可以用它来绘制线段、圆形、多边形,甚至是绘制其它组件。

## 语法

语法格式如下:

```

w = Canvas ( master, option=value, ... )

```

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

```

## 参数

Canvas(master=None, **options) (class)

* master: 按钮的父容器。

* options: 可选项,即该按钮的可设置的属性。这些选项可以用键 = 值的形式设置,并以逗号分隔。下方表格详细列举了各个选项的具体含义和用法:

| **选项** | **含义** |

| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

| background | 指定 Canvas 的背景颜色 |

| bg | 跟 background 一样 |

| borderwidth | 指定 Canvas 的边框宽度 |

| bd | 跟 borderwidth 一样 |

| closeenough | 1. 指定一个距离,当鼠标与画布对象的距离小于该值时,鼠标被认为在画布对象上

2. 该选项是一个浮点类型的值 |

| confine | 1. 指定 Canvas 组件是否允许滚动超出 scrollregion 选项指定的范围

2. 默认值是 True |

| cursor | 指定当鼠标在 Canvas 上飘过的时候的鼠标样式 |

| height | 1. 指定 Canvas 的高度

2. 单位是像素 |

| highlightbackground | 指定当 Canvas 没有获得焦点的时候高亮边框的颜色 |

| highlightcolor | 指定当 Canvas 获得焦点的时候高亮边框的颜色 |

| highlightthickness | 指定高亮边框的宽度 |

| relief | 1. 指定 Canvas 的边框样式

2. 默认值是 "flat"

3. 其他可以选择的值是 "sunken","raised","groove" 和 "ridge" |

| scrollregion | 1. 指定 Canvas 可以被滚动的范围

2. 该选项的值是一个 4 元组(x1, y1, x2, y2)表示的矩形 |

| selectbackground | 指定当画布对象被选中时的背景色 |

| selectborderwidth | 指定当画布对象被选中时的边框宽度(选中边框) |

| selectforeground | 指定当画布对象被选中时的前景色 |

| state | 1. 设置 Canvas 的状态:"normal" 或 "disabled"

2. 默认值是 "normal"3. 注意:该值不会影响画布对象的状态 |

| takefocus | 1. 指定使用 Tab 键可以将焦点移动到输入框中

2. 默认是开启的,可以将该选项设置为 False 避免焦点在此输入框中 |

| width | 1. 指定 Canvas 的宽度

2. 单位是像素 |

| xscrollcommand | 1. 与 scrollbar(滚动条)组件相关联(水平方向)

2. 使用方法可以参考:[Scrollbar 组件](https://bbs.266.la/forum.php?mod=viewthread&tid=1605) |

| xscrollincrement | 1. 该选项指定 Canvas 水平滚动的“步长”

2. 例如 '3c' 表示 3 厘米,还可以选择的单位有 'i'(英寸),'m'(毫米)和 'p'(DPI,大约是 '1i' 等于 '72p')

3. 默认值是 0,表示可以水平滚动到任意位置 |

| yscrollcommand | 1. 与 scrollbar(滚动条)组件相关联(垂直方向)

2. 使用方法可以参考:[Scrollbar 组件](https://bbs.266.la/forum.php?mod=viewthread&tid=1605) |

| yscrollincrement | 1. 该选项指定 Canvas 垂直滚动的“步长”

2. 例如 '3c' 表示 3 厘米,还可以选择的单位有 'i'(英寸),'m'(毫米)和 'p'(DPI,大约是 '1i' 等于 '72p')

3. 默认值是 0,表示可以水平滚动到任意位置 |

## 实例

```

from tkinter import *

root = Tk()

w = Canvas(root,width=200,height=100,background = "white")

w.pack()

mainloop()

```

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值