开篇寄语
伯衡君列出了tkinter的学习目录,正在陆续补全中,具体可以参看下方的前情提要,而本篇文章,主要来说一下其中的Canvas的一些相关知识点,以方便大家一起掌握这个小插件的相关知识,分享给大家。
前情提要
内容详情
“Canvas”小部件是Tkinter在Python中提供的更独特,更高级的小部件之一。它的用法类似于绘图板,您可以在其上进行绘画和绘画。
您可以在Canvas窗口小部件上绘制各种事物,例如图形,曲线图,饼图,折线,矩形等。其中更有趣的用途之一是用于统计的Matplotlib库。 Matplotlib可以创建各种图形和绘图,您可以将这些绘图直接附加到Tkinter画布上。
选项列表
No | Option | Description |
---|---|---|
1 | bg | 小部件的背景颜色 |
2 | bd | 小部件周围边框的大小。默认值为2像素 |
3 | confine | 如果为True,则无法将画布滚动到滚动区域之外。默认值为True |
4 | cursor | 当鼠标悬停在这个小部件上时,它可以被更改为一个特殊的光标类型,如arrow或dot |
5 | height | 小部件的高度 |
6 | highlightcolor | 窗口小部件聚焦时的突出显示颜色 |
7 | scrollregion | 具有格式(左,上,右,下)的元组,用于定义可以在其上滚动画布的区域。如果“画布”宽度为300,而左侧值为500,则画布可以向左滚动200像素 |
8 | relief | 它指定边框的类型。默认为Flat,其他选项包括RAISED和SUNKEN. |
9 | width | 复选按钮的宽度 |
10 | xscrollcommand | 允许用户水平滚动 |
11 | xscrollincrement | 确定每次滚动将x滚动值增加多少,例如单击滚动条的箭头。确保使用正值 |
12 | yscrollcommand | 允许用户垂直滚动 |
13 | yscrollincrement | 与xscrollincrement相同,但用于Y轴。确保使用正值 |
举例说明
最流行的功能之一,create_arc()用于在Tkinter画布上绘制圆弧。它采用以下格式的一组坐标X0,Y0,X1,Y1。
您实际上要做的是定义两个点(例如一条线),然后使用该线画一个圆。范围选项的取值范围是1到360,代表一个圆的360度。开始选项确定从哪里开始弧(以度为单位)
from tkinter import * root = Tk() frame=Frame(root,width=300,height=300) frame.pack(expand = True, fill=BOTH) canvas = Canvas(frame,bg='white', width = 300,height = 300) coordinates = 20, 50, 210, 230 arc = canvas.create_arc(coordinates, start=0, extent=250, fill="blue") arc = canvas.create_arc(coordinates, start=250, extent=50, fill="red") arc = canvas.create_arc(coordinates, start=300, extent=60, fill="yellow") canvas.pack(expand = True, fill = BOTH) root.mainloop()
由于所有圆弧都具有相同的原点,因此我们赋予它们相同的坐标。还要注意的另一点是,弧线是逆时针方向延伸的,具体效果如下图所示:
还是很简单的嘛,是不是一学就会了?
- 我的微信
- 微信扫一扫加好友
- 我的微信公众号
- 扫描关注公众号