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 ...
随机推荐
- 交换路由中期测验20181226(动态路由配置与重分发、NAT转换、ACL访问控制列表)
测试拓扑: 接口配置信息 HostName 接口 IP地址 网关 Server 0 Fa0 172.16.15.1/24 172.16.15.254 Server 1 Fa0 100.2.15.200 ...
- jq通过对象获取其ID值,再简单ajax传到后台改值
<tbody> <tr> <#if scopes?exists> <#list scopes as scopes> <td id='${(scop ...
- 获取C#中方法的执行时间及其代码注入
在优化C#代码或对比某些API的效率时,通常需要测试某个方法的运行时间,可以通过DateTime来统计指定方法的执行时间,也可以使用命名空间System.Diagnostics中封装了高精度计时器Qu ...
- 浅谈Java泛型中的? extends E和?super E
https://blog.csdn.net/zymx14/article/details/78073757
- Java基础系列--final、finally关键字
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/8482909.html 一.概述 final是Java关键字中最常见之一,表示“最终的,不可 ...
- SpringBoot JPA + H2增删改查示例
下面的例子是基于SpringBoot JPA以及H2数据库来实现的,下面就开始搭建项目吧. 首先看下项目的整体结构: 具体操作步骤: 打开IDEA,创建一个新的Spring Initializr项目, ...
- 记一次安装Nginx+php-fpm安装后无法解析.php文件,状态码200,但显示空白页
安装环境: Nginx:Nginx1.12.2 PHP:PHP 7.2 系统:CentOS 7.4 安装方式: Nginx与PHP都是yum安装的,具体步骤: 1.安装epel源再安装Nginx: r ...
- windows BLE编程 net winform 连接蓝牙4.0
winform 程序调用Windows.Devices.Bluetoot API 实现windows下BLE蓝牙设备自动连接,收发数据功能.不需要使用win10的UWP开发. 先贴图,回头来完善代码 ...
- [android] 手机卫士接收短信指令执行相应操作
通过广播接收者,接收到短信,对短信内容进行判断,如果为我们指定的值就执行相应的操作 如果短信内容是”#*location*#” 就执行,获取手机位置 如果短信内容是”#*alarm*#” 就执行,播放 ...
- 畅通工程续(HDU 1874)附上超详细源代码
Problem Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行 ...