1、canvas

Canvas(画布)组件为 Tkinter 的图形绘制提供了基础。Canvas 是一个高度灵活的组件,你可以用它绘制图形和图表,创建图形编辑器,并实现各种自定义的小部件。Canvas 是一个通用的组件,通常用于显示和编辑图形。你可以用它来绘制线段、圆形、多边形,甚至是绘制其它组件。

2、常用方法

Canvas 的坐标系统是绘图的基础,其中点 (0,0) 位于 Canvas 组件的左上角,X 轴水平向右延伸,Y 轴垂直向下延伸。

  • create_arc:绘制弧。
  • create_bitmap:绘制位图。
  • create_image:绘制图片。
  • create_line():绘制直线。
  • create_polygon:绘制多边形。
  • create_text:绘制文字。
  • create_window:绘制组件。
  • create_rectangle() 方法绘制矩形
  • create_oval() 方法绘制椭圆(包括圆,圆是椭圆的特例)

绘制上面这些图形时需要简单的几何基础:

  • 在使用 create_line() 绘制直线时,需要指定两个点的坐标,分别作为直线的起点和终点。
  • 在使用 create_rectangle() 绘制矩形时,需要指定两个点的坐标,分别作为矩形左上角点和右下角点的坐标。
  • 在使用 create_oval() 绘制椭圆时,需要指定两个点的坐标,分别作为左上角点和右下角点的坐标来确定一个矩形,而该方法则负责绘制该矩形的内切椭圆。

3、实例

1)绘制弧形

import tkinter as tk
from tkinter import messagebox
from tkinter import Canvasroot = tk.Tk()
root.title('画个大作')#创建画布
canv = Canvas(root, width = 200, height = 200, bg = 'white')
#调用函数画弧形
canv.create_arc((0, 0), (200, 100), outline = 'red')
canv.pack()root.mainloop()

2)绘制文字

import tkinter as tk
from tkinter import messagebox
from tkinter import Canvasroot = tk.Tk()
root.title('画个大作')#创建画布
canv = Canvas(root, width = 200, height = 200, bg = 'white')
#调用函数画汉字
canv.create_text(100, 100, text = 'python')
canv.pack()root.mainloop()

tkinter--画布相关推荐

  1. python tkinter画布中使用turtle_[Tkinter canvas of Python]海龟图书馆,python,之,tkinter,画布,Turtle,库...

    [python之tkinter画布] turtle绘图的基础知识: turtle.screensize(canvwidth=None, canvheight=None, bg=None) #参数分别为 ...

  2. python怎样填充颜色_python – 使用颜色填充Tkinter画布对象之间的空间

    Python 2.7.8,Windows 7 我已经将Tkinter画布小部件子类化,我添加了一个新方法来创建一个带有圆边的矩形. import Tkinter as tk class MyCanva ...

  3. python画布位置_如何调整tkinter画布的位置

    在我的程序中,我想创建一个锚定在屏幕左上角的tkinter画布,但画布默认位于屏幕上的另一个位置.以下是这一情况的图像: 以下是我当前的代码:#!/usr/bin/python import tkin ...

  4. python编程画布_Python Tkinter 画布(Canvas)

    Python Tkinter 画布(Canvas) Python Tkinter 画布(Canvas)组件和 html5 中的画布一样,都是用来绘图的.您可以将图形,文本,小部件或框架放置在画布上. ...

  5. python菜鸟教程官网绘图-Python Tkinter 画布(Canvas)

    Python Tkinter 画布(Canvas) Python Tkinter 画布(Canvas)组件和 html5 中的画布一样,都是用来绘图的.您可以将图形,文本,小部件或框架放置在画布上. ...

  6. python清空画布_关于python:如何清除Tkinter画布?

    当我使用以下方法绘制形状时: canvas.create_rectangle(10, 10, 50, 50, color="green") Tkinter是否跟踪其创建的事实? 在 ...

  7. python tkinter画布设置按钮对图片放大缩小_Tkinter可调整大小的对象Python画布

    我试图让Tkinter的画布上的多个对象可以使用旋转框调整大小/重新定位,其中spinbox中的值用作原始坐标的倍数.为了使事情稍微复杂一点,默认情况下,spinbox是不可见的,它在Toplevel ...

  8. python怎么清空画布_如何清除或覆盖tkinter画布?

    下面的代码显示了我正在处理的tkinter图形用户界面的一页. 我想让"清除绘图字段"按钮做的是:清除画布,因为如果我再次绘图,新的绘图将打包在下面. 或者:我如何覆盖现有的绘图, ...

  9. 用tkinter画布(Canvas)作图,五角星

    1.画直线.虚线.矩形 from tkinter import *root=Tk()w=Canvas(root,width=200,height=100,background='white')#画布为 ...

  10. python tkinter画布设置按钮对图片放大缩小_使用Tkinter画布小部件添加放大和缩小?...

    小编典典 据我所知,内置的Tkinter Canvas类缩放不会自动缩放图像.如果无法使用自定义窗口小部件,则可以缩放原始图像,并在调用缩放功能时将其替换在画布上. 下面的代码片段可以合并到您的原始类 ...

最新文章

  1. 【风控建模】互联网金融-机器学习及评分卡构建
  2. HashSet集合存储数据的结构(哈希表)及set集合存储元素不重复的原理
  3. 将用户数据分成一个个数据块传输的优点不包括( )
  4. 1.有意义的命名(代码的整洁之道)
  5. 能用python做信号处理吗_Python中的信号处理
  6. 【转载】浅谈React编程思想
  7. python if else用法同一行_在Python的同一行中使用if else for和del吗?-问答-阿里云开发者社区-阿里云...
  8. ip访问次数统计 nginx_Linux分析Nginx日志统计IP访问次数的shell脚本
  9. 疑似黑鲨5系列游戏手机已备案:或首批搭载骁龙898
  10. java border边框_简单实用的css边框属性border
  11. 中国古代道家思想与网页重构的思考
  12. Win10: adb: error: remote could not create file(解决)
  13. 通过saltapi接口安装实例(modules)
  14. 如何维护应用程序状态
  15. 如何安装和_彻底卸载MySQL
  16. Objective-C 和 Core Foundation 对象相互转换的内存管理总结
  17. HTML+CSS静态页面网页设计作业:我的家乡网站设计——我的家乡-莆仙(6页)
  18. 阿里云Oss搭建私人图床
  19. MATLAB 画正态分布和对数正态分布的概率密度函数
  20. CUDA实现focal_loss

热门文章

  1. 解决office word 2016升级后工具栏无Mathtype
  2. Rokid Pebble若琪月石AI音响支持root
  3. 【BZOJ 3470】3470: Freda’s Walk 期望
  4. 如何添加Burp Suite添加https证书
  5. 记录h5文件数据转为npy和csv格式类型的方法
  6. A段架构设计_隽语集(IT+設計思考_1601)
  7. vue(slot-卡槽)
  8. Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码)
  9. 让你自己制作的木马和病毒用360安全卫士杀不出。加壳,免杀,加花,捆绑,压缩。
  10. 将多个word文档的内容合并到一个文档