前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【tkinter系列 第九课 Canvas窗口部件 】

【tkinter系列 第九课 Canvas窗口部件 】

作者头像
叶子陪你玩
发布2020-03-12 15:22:57
1.1K0
发布2020-03-12 15:22:57
举报
前言

python中通常我们写程序,显示结果和操作都是在终端区,如果要想实现一个有显示界面的程序那该怎样实现呢?python中有好几个库都可以实现,这个系列我们一起来学习如何使用python自带的tkinter库来实现。

本节课将要学习Canvas窗口部件,Canvas是画布的意思,那什么时候该用Canvas部件呢?通常用于显示和编辑图形和其他绘图。这个小部件的另一个常见用途是实现各种自定义小部件。例如,您可以通过在画布上绘制直线、椭圆、多边形、矩形和显示图片。

绘制图形

代码:

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

root = Tk()
root.geometry("400x200")

w = Canvas(root, width=200, height=100,bg="yellow")
w.pack()
# 绘制直线 起点 和 终点
w.create_line(0, 0, 200, 100)
# dash绘制虚线,前面一个数字表示长度,后面表示间隔
w.create_line(0, 100, 200, 0, fill="red", dash=(5,5))
# 绘制矩形 左上角 右下角坐标 填充颜色
w.create_rectangle(50, 25, 150, 75, fill="blue")

mainloop()

效果:

解释:

在画布中绘制内容,使用 create 方法添加新项。createline() 绘制线段 createrectangle() 绘制矩形

显示图片

代码:

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

root = Tk()
root.geometry("400x200")

w = Canvas(root, width=200, height=100,bg="yellow")
w.pack()
# 使用PhotoImage方法加载图片
photo = PhotoImage(file="test.png")

# 显示图片

前面两个数字表示图片显示位置 锚点默认图片中心 anchor参数可以更改锚点
w.create_image(100,50,image=photo)
# w.create_image(100,0,anchor="n",image=photo)
# w.create_image(0,0,anchor="nw",image=photo)
mainloop()

效果:

默认 anchor="center"。

anchor="n",设置定边中间为锚点。

anchor="nw" ,设置左上角为锚点。

拓展:

除了Canvas可以显示图片,按钮和标签控件同样也是可以显示图片的。

代码:

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

root = Tk()
root.geometry("400x200")

# 使用PhotoImage方法加载图片
photo = PhotoImage(file="test.png")

l = Label(root, image=photo,  width=200, bg="red")
l.pack()

button = Button(root,image=photo)
button.pack()

mainloop()

效果:

参考:

http://effbot.org/tkinterbook/canvas.html

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

本文分享自 叶子陪你玩编程 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 绘制图形
  • 显示图片
  • 拓展:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档