前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何用tkinter给你女朋友画一个爱心,这满满的油腻感是怎么回事?

如何用tkinter给你女朋友画一个爱心,这满满的油腻感是怎么回事?

作者头像
大家一起学编程
发布2021-12-16 16:10:28
9150
发布2021-12-16 16:10:28
举报

如何用tkinter给你女朋友画一个爱心,这满满的油腻感是怎么回事?

前言

还记得在之前的文章中,我们所提及到画桃心的方式吗?

之前使用的模块是matplotlib又或者是使用tkinter显示桃心图片。

那这次与之前是不同的,这次,我们直接用tkinter画出来。需要使用到画,那就需要知道画布的功能。

tkinter的画布功能。

第一步:导入模块

tkinter是python的内置模块,所以不需要额外安装,只需要引用就可以。

代码语言:javascript
复制
import tkinter
from tkinter import Canvas

使用画布功能

代码语言:javascript
复制
canvas = Canvas ( master,……)

master: 按钮的父容器。
bg:背景色
height:高度
width:画布在 X 坐标轴上的大小。

第二步:画布的使用

Canvas 组件支持以下标准选项:

arc − 创建一个扇形

代码语言:javascript
复制
coord = 10, 50, 240, 210  #对角坐标
arc = canvas.create_arc(coord, start=0, extent=150, fill="blue")#start 开始度数,extent 多少度扇形

image − 创建图像

代码语言:javascript
复制
filename = PhotoImage(file = "sunshine.gif")
image = canvas.create_image(50, 50, anchor=NE, image=filename)

line − 创建线条,每一个转折的点的坐标x0 ,y0是起点

代码语言:javascript
复制
line = canvas.create_line(x0, y0, x1, y1, ..., xn, yn, options)

oval − 创建一个圆,x0 ,y0,x1,y1,长方形内的,起点坐标和终点坐标,可以是一个椭圆

代码语言:javascript
复制
oval = canvas.create_oval(x0, y0, x1, y1, options)

polygon − 创建一个至少有三个顶点的多边形,每个点的坐标

代码语言:javascript
复制
oval = canvas.create_polygon(x0, y0, x1, y1,...xn, yn, options)

第三步:画桃心

我们先分析一下桃心的构成,将桃心分为上下两个部分,然后上半部分我们又可以分为两个扇形,下半部分是一个三角形。因此我们使用上面学习到的知识,应用进来。

代码如下:

代码语言:javascript
复制
import tkinter
from tkinter import Canvas

def windows():
    tk=tkinter.Tk()
    tk.attributes("-fullscreen", True)#全屏
    tk.attributes("-transparentcolor","#F0F0F0")
    tk.attributes("-toolwindow",True)
    canvas=Canvas(tk,width=w,height=h)
    canvas.config(highlightthickness=0)
    canvas.pack()
    #画左边的扇形
    coord = 0, 100, 360, 360
    arc = canvas.create_arc(coord, start=0, extent=180, fill="pink")
    #画右边的扇形
    coord1 =360,100,720,360
    arc1 = canvas.create_arc(coord1, start=0, extent=180, fill="pink")
    #画三角形
    oval = canvas.create_polygon(0,230,720,230,360, 720, fill="pink")
    tk.mainloop()
    
if __name__=="__main__":
    windows()

fill="pink"为填充颜色,outline="pink"为边框颜色

这样,我们就完成了,我们的桃心画法3.0.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大家一起学编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 第一步:导入模块
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档