1、画直线、虚线、矩形

from tkinter import *root=Tk()w=Canvas(root,width=200,height=100,background='white')#画布为白色,以示区别
w.pack()line1=w.create_line(0,50,200,50,fill='blue')#前两个数字代表一个点的坐标,后两个数字代表另一个点的坐标
line2=w.create_line(100,0,100,100,fill='red',dash=(4,4))
#dash代表虚线,2元组(a,b),a指定要画几个像素,b指定要跳过几个像素,依此重复,直至轮廓线画完。rect1=w.create_rectangle(50,23,150,75,fill='Gray')#前两个数字代表矩形左上角的坐标,后两个数代表矩形右下角的坐标mainloop()

结果显示:

2、对所画的图形进行修改和删除

from tkinter import *root=Tk()w=Canvas(root,width=200,height=100,background='white')
w.pack()line1=w.create_line(0,50,200,50,fill='blue')#前两个数字代表一个点的坐标,后两个数字代表另一个点的坐标
line2=w.create_line(100,0,100,100,fill='red',dash=(4,4))#dash代表虚线
rect1=w.create_rectangle(50,23,150,75,fill='Gray')#前两个数字代表矩形左上角的坐标,后两个数代表矩形右下角的坐标#修改
w.coords(line1,0,25,200,25)#移动到新的位置
w.itemconfig(rect1,fill='red')#主要是设置选项
w.delete(line2)#删除Button(root,text='删除全部',command=(lambda x=ALL:w.delete(x))).pack()mainloop()

结果显示:

3、画椭圆

from tkinter import *root=Tk()w=Canvas(root,width=200,height=100,background='white')
w.pack()w.create_rectangle(50,23,150,75,dash=(4,4))
w.create_oval(50,23,150,75,fill='pink')#绘制椭圆,会给出一个矩形的参数,然后进行限定填充
w.create_text(100,50,text='你好')mainloop()

4、绘制五角星

from tkinter import *
import math as mroot=Tk()w=Canvas(root,width=200,height=100,background='white')
w.pack()#提前设定画布边缘的中间点,总宽度为200,总高度为100
center_x=100
center_y=50
r=50#将五角星的五个顶点存入列表中,注意五个定点绘制的顺序
points=[# A顶点center_x - int(r*m.sin(2*m.pi/5)),center_y - int(r*m.cos(2*m.pi/5)),# C顶点center_x + int(r*m.sin(2*m.pi/5)),center_y - int(r*m.cos(2*m.pi/5)),# E顶点center_x - int(r*m.sin(m.pi/5)),center_y + int(r*m.cos(m.pi/5)),# B顶点center_x,center_y - r,# D顶点center_x + int(r*m.sin(m.pi/5)),center_y + int(r*m.cos(m.pi/5)),
]w.create_polygon(points,outline='',fill='red') #绘制多边形(坐标依次罗列,不用加括号,还有参数,fill,outline);mainloop()

图解:

r1=r*sin(2*pi/5),r2=r*cos(2*pi/5)

A(x1,y1):x1=center_x-r1,y1=center_y-r2

结果:

用tkinter画布(Canvas)作图,五角星相关推荐

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

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

  2. tkinter笔记:画布canvas

    1 整体框架 import tkinter as tkwindow = tk.Tk() #创建窗口window.title('my window') #窗口标题window.geometry('500 ...

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

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

  4. python怎么在画布上写字_Python3 tkinter基础 Canvas create_text 在画布上添加文字

    Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda : 4.5.11 typesetting : Markdown ...

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

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

  6. Tkinter的Canvas组件

    一.简介 Canvas组件,是一个可以绘制界面的组件, Canvas组件是通用的组件,通常用来显示或编辑图形,可以用来绘制直线.圆形.多边形,甚至是绘制其他组件 二.用Canvas绘制简单的直线与矩形 ...

  7. python tkinter进度条_在python tkinter中Canvas实现进度条显示的方法

    如下所示: from tkinter import * import time #更新进度条函数 def change_schedule(now_schedule,all_schedule): can ...

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

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

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

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

  10. python画椭圆形_Python3 tkinter基础 Canvas create_rectangle 画虚边的矩形 create_oval 画椭圆形 圆形...

    Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda : 4.5.11 typesetting : Markdown ...

最新文章

  1. CStringArray序列化处理
  2. 【solr专题之二】配置文件:solr.xml solrConfig.xml schema.xml
  3. 【编程通识】PlantUML绘制时序图样例
  4. easy_Maze 梅津美治郎 寒假逆向生涯(16/100)
  5. HoloLens开发手记-凝视 Gaze
  6. 从0到1写RT-Thread内核——支持多优先级
  7. 工作32:get之前打印
  8. bind merge r 和join_R语言并行读取csv:地表最快csv合并方法
  9. task2 EDA探索性数据分析
  10. 012-centos6.5配置静态ip
  11. 还在头痛被黑客劫持? 五步帮你摆脱烦恼!
  12. sed用法详解(转载)
  13. SM6S系列TVS二级管 可通过ISO 7637-2 5a/5b测试
  14. 多传感器融合方法综述
  15. 分式加法JAVA程序_分式加减运算的八种技巧,有几种方法学校老师没讲过,记得收藏...
  16. 1094: 【基础】填词 【循环】
  17. 范畴论-一个单子(Monad)说白了不过就是自函子范畴上的一个幺半群而已
  18. 通过Python获取拉钩招聘网站的公司详细地址
  19. blender报错“RuntimeError: Operator bpy.ops.object.mode_set.poll() Context missing active object”
  20. 一文讲懂什么是 vlan、三层交换机、网关、DNS、子网掩码、MAC地址

热门文章

  1. 2018年6月20日
  2. ff7重制版青魔法_最终幻想7重制版全青魔法获取指南
  3. 教拉克丝去面试(二) 1.7版本HashMap源码你知道多少?
  4. android cpu调度策略_ARM big.LITTLE大小核架构在Linux和Android内核下多核调度算法
  5. TCP/IP四层模型各层主要协议详述
  6. 各种神字体来袭,圈子球迷用书法作品为国足呐喊加油!
  7. ELK日志分析系统(原创)
  8. cmd切换壁纸 适用windows10
  9. Alibaba之Nacos详解
  10. 计算机培训参加考试可以获得计算机证书有哪些