tkinter学习系列之(八) Canvas控件
目录
前言
由于最近想在tkinter里内嵌matplotlib,由于用到tkinter里的carves控件,先学习一下。
carves就是画布的意思,用于画图。
(一)carves创建方法
(1)说明:
与其他的控件一样,carves的创建方也是在tk里。
(2)源代码:
import tkinter as tk
win = tk.Tk()
win.geometry("600x400+200+100")
# 创建画布
canvas = tk.Canvas(win, bg="orange")
canvas.place(relx=0.05, rely=0.05, relwidth=0.9, relheight=0.9)
win.mainloop()
(3)输出效果:

(二)carves的画图方法
(1)说明:
| 方法 | 说明 | 参数 |
|---|---|---|
| .create_line() | 画线 | (起始坐标),(终点坐标),width=线宽,fill=颜色 |
| .create_arc() | 画圆弧 | (起始坐标),(终点坐标),width=线宽,fill=颜色 |
| .create_rectangle() | 画矩形 | (起始坐标),(终点坐标),fill='填充的颜色, outline=边框的颜色 |
| .create_oval() | 画椭圆 | (外接矩阵的四个坐标),fill='填充的颜色, outline=边框的颜色 |
| .create_polygon() | 画多边形 | d多个点的坐标,fill='填充的颜色, outline=边框的颜色 |
| .create_text() | 显示文字 | text="文字" |
| .delete() | 删除对象 | 创建线返回的对象 |
(2)源代码:
import tkinter as tk
win = tk.Tk()
win.geometry("600x400+200+100")
canvas = tk.Canvas(win, bg="orange")
canvas.place(relx=0.05, rely=0.05, relwidth=0.9, relheight=0.9)
# 画一条实线, fill:填充的颜色
line1 = canvas.create_line((0, 0), (100, 100), width=5, fill="red")
# 画一条虚线 dash=(1, 1)
canvas.create_line((200, 200), (200, 300), width=5, fill="green", dash=(1, 1))
# 画一个圆弧
canvas.create_arc((100, 100), (200, 200), width=5)
# 显示文字
canvas.create_text((300, 100), text="文字", font=("微软雅黑", 18))
# 绘制矩形, outline:线条颜色
canvas.create_rectangle(50, 25, 150, 75, fill='blue', outline='green', width=5)
# 绘制椭圆
canvas.create_oval(200, 25, 350, 75, fill='pink', outline='green', width=5)
# 绘制多边形
point = [(100, 100), (100, 200), (200, 300), (300, 400), (400, 500)]
canvas.create_polygon(point, outline='green', fill='yellow')
def dele_line():
canvas.delete(line1)
btn = tk.Button(canvas, text="删除", command=dele_line)
btn.place(relx=0.4, rely=0.8)
win.mainloop()
(3)输出效果:

作者:Mark
日期:2019/02/13 周三
tkinter学习系列之(八) Canvas控件的更多相关文章
- WP8.1学习系列(第二十章)——添加控件和处理事件
先决条件 添加控件 设置控件的名称 设置控件属性 创建事件处理程序 新控件 总结 相关主题 通过使用如按钮.文本框和组合框等控件,你可以创建应用的 UI. 下面将显示如何将控件添加到应用.处理控件时, ...
- WPF学习系列之五(WPF控件)
控件: 1.内容控件------这些控件能够包含嵌套的元素,为它们提供几乎无限的显示能力.内容控件包括Lable,Button 以及ToolTip类. 内容控件是更特殊的控件类型,它们可以包含( ...
- WP8.1学习系列(第十章)——中心控件Hub设计指南
Windows Phone 应用商店应用中的中心控件指南 在本文中 说明 示例 用法指南 设计指南 相关主题 重要的 API Hub (XAML) HubSection (XAML) 说明 中心控 ...
- 【Silverlight】Bing Maps学习系列(八):使用Bing Maps Silverlight Control加载自己部署的Google Maps
[Silverlight]Bing Maps学习系列(八):使用Bing Maps Silverlight Control加载自己部署的Google Maps 上个月微软必应地图(Bing Maps) ...
- 《Dotnet9》系列-开源C# WPF控件库3《HandyControl》强力推荐
大家好,我是Dotnet9小编,一个从事dotnet开发8年+的程序员.我最近开始写dotnet分享文章,希望能让更多人看到dotnet的发展,了解更多dotnet技术,帮助dotnet程序员应用do ...
- React-Native的基本控件属性方法,对React-Native的学习,从熟悉基本控件开始。
对React-Native的学习,从熟悉基本控件开始. View 属性方法 序号 名称 属性Or方法 类型 说明 1 accessibilityLabel 属性 string 2 accessib ...
- Python学习系列(八)( 面向对象基础)
Python学习系列(八)( 面向对象基础) Python学习系列(七)( 数据库编程) 一,面向对象 1,域:属于一个对象或类的变量.有两种类型,即实例变量—属于每个实例/类的对象:类变量—属于类 ...
- 《Dotnet9》系列-开源C# Winform控件库强力推荐
时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...
- 《Dotnet9》系列-开源C# WPF控件库强力推荐
时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...
随机推荐
- go sync.once用法
欢迎关注go语言微信公众号 每日go语言 golang_everyday sync.once可以控制函数只能被调用一次.不能多次重复调用.示例代码: package main import ( &qu ...
- php扩展编译方法
linux下php已经编译,如何再为php增加新的扩展通过php自带的phpize,如我的phpize在/usr/local/php/bin/phpize1.到软件的官方或pecl.php.net去下 ...
- mybatis教程5(延迟加载和缓存)
关联关系 在关系型数据库中,表与表之间很少是独立与其他表没关系的.所以在实际开发过程中我们会碰到很多复杂的关联关系.在此我们来分析下载mybatis中怎么处理这些关系 1对1关系 我们有一张员工表(T ...
- 图像融合之泊松融合(Possion Matting)
前面有介绍拉普拉斯融合,今天说下OpenCV泊松融合使用.顺便提一下,泊松是拉普拉斯的学生. 泊松融合的原理请参考这篇博文https://blog.csdn.net/u011534057/articl ...
- IS-IS笔记
IS-IS:一般不会见到,唯一见到过一次是在BAT中某家的骨干网 |->CLNP (类似IP,IPX)|->CLNS->|->IS-IS (Routing,IGP)ISO-&g ...
- CheckBox-复选框-删除-选中行
<!--删除选中的行,利用oTable.deleteRow(i)方法--> <!DOCTYPE html> <html xmlns="http://www.w3 ...
- 【Core】创建简单的Core MVC项目
创建项目: 首先:打开vs选中新建项目- >选中.NET Core - >ASP.NET Core Web应用程序: 然后:在选择web应用程序,注意上面要选中.net Core 别选错了 ...
- activeX
对外接口和classid在idl文件中,接口功能实现在ctrl类中实现
- 【原】通过BeanNameAutoProxyCreator改变臃肿代码
前言: 最近接手了一个项目,大概过了下需求,然后打开项目准备开搞的时候发现一个问题,这个项目是提供rest服务的一个web项目,其中很多旧系统由于还没改成微服务,所以只能通过HttpClient发起调 ...
- 140 - The 12th Zhejiang Provincial Collegiate Programming Contest(第三部分)
Earthstone Keeper Time Limit: 4 Seconds Memory Limit: 65536 KB Earthstone Keeper is a famous ro ...