Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【tkinter系列 第九课 Canvas窗口部件 】

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

作者头像
叶子陪你玩
发布于 2020-03-12 07:22:57
发布于 2020-03-12 07:22:57
1.2K00
代码可运行
举报
运行总次数:0
代码可运行
前言

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

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

绘制图形

代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Tkinter Canvas
演示效果 创建windows window = tk.Tk() window.title('my window') window.geometry('500x500') 循环刷新窗口 window.m
演化计算与人工智能
2020/08/14
1.7K0
Tkinter Canvas
python的tkinter编程(九)Text多行文本框的详细解读
from tkinter import * from tkinter import messagebox class Application(Frame): def __init__(self,master=None): # Frame是父类,得主动的调用父类 的构造器 super().__init__(master) # super() 代表的是父类的定义,而不是父类的对象 self.master = master self.
一写代码就开心
2020/11/20
2.1K0
python的tkinter编程(九)Text多行文本框的详细解读
过分了,别人用来做桌面应用开发,这家伙却用来撩妹(6)-隐形的弹窗
在前面已经学习了很多,制作弹窗的方式,但是没有一个透明的弹窗。这次我们来做一个透明的弹窗好了。如图,先来感受一下。
大家一起学编程
2021/09/18
8560
过分了,别人用来做桌面应用开发,这家伙却用来撩妹(6)-隐形的弹窗
过分了,别人用来做桌面应用开发,这家伙却用来撩妹(4)--双向奔赴的火柴人
可还记得上期我们研究的会奔跑的机器人吗? 没错,就是他,整个画面一闪一闪的,非常不好看。 而且,只能单项奔跑,不能双向奔跑。那这期,我们就一起来更加深入的研究一下吧。 一、运动的火柴人。 1、解决闪屏的问题 import tkinter,time from tkinter import * tk = tkinter.Tk() tk.title("窗口") # 设置窗口名称 tk.geometry("200x220+200+220") w = tk.winfo_screenwidth()
大家一起学编程
2021/08/26
5130
过分了,别人用来做桌面应用开发,这家伙却用来撩妹(4)--双向奔赴的火柴人
​Python | GUI编程之tkinter (一)
本文内容为使用Python3的tkinter模块,开发GUI。在阅读本文前,请确保你已经或可能满足以下条件:
LogicPanda
2019/07/30
6.1K0
【tkinter系列 第六课 Radiobutton窗口部件 】
python中通常我们写程序,显示结果和操作都是在终端区,如果要想实现一个有显示界面的程序那该怎样实现呢?python中有好几个库都可以实现,这个系列我们一起来学习如何使用python自带的tkinter库来实现。
叶子陪你玩
2020/03/12
1.3K0
【tkinter系列 第十课 TopLevel窗口部件 】
python中通常我们写程序,显示结果和操作都是在终端区,如果要想实现一个有显示界面的程序那该怎样实现呢?python中有好几个库都可以实现,这个系列我们一起来学习如何使用python自带的tkinter库来实现。
叶子陪你玩
2020/03/11
3.6K0
python-tkinter 实现各种个样的撩妹鼠标拖尾
系统的拖尾已经无法满足我们了,女朋友叫你把鼠标拖尾换成她的照片,让你时时刻刻都可以看见她,这个要求你答不答应。
大家一起学编程
2021/09/18
7240
python-tkinter 实现各种个样的撩妹鼠标拖尾
(tkinter)撩妹弹窗(3)之不要越过三八线,canvas的使用方法
1、过分了,别人用来做桌面应用开发,这家伙却用来撩妹(1)--上帝给你开一个窗口(Tkinter)
大家一起学编程
2021/07/08
1.7K0
(tkinter)撩妹弹窗(3)之不要越过三八线,canvas的使用方法
软件测试|超好用超简单的GUI库——tkinter(三)
前面我们介绍了tkinter主窗口的一系列操作,本篇文章我们将介绍Label控件,Label(标签)控件,是 Tkinter 中最常使用的一种控件,主要用来显示窗口中的文本或者图像,并且不同的 Lable(标签)允许设置各自不同的背景图片。
霍格沃兹测试开发Muller老师
2023/04/10
1.1K0
tkinter -- Canvas(1)
提供可以用来进行绘图的 Container,支持基本的几何元素,使用 Canvas 进行绘图时,所有的操作都是通过 Canvas,不是通过它的元素
py3study
2018/08/03
7660
tkinter -- Canvas(4)
先使用 PhotoImage 创建 GIF 图像,再将 image 属性来设置为新创建的 img
py3study
2018/08/03
7240
【tkinter系列 第四课 Entry和Text窗口部件 】
python中通常我们写程序,显示结果和操作都是在终端区,如果要想实现一个有显示界面的程序那该怎样实现呢?python中有好几个库都可以实现,这个系列我们一起来学习如何使用python自带的tkinter库来实现。
叶子陪你玩
2020/03/12
1.8K0
【tkinter系列 第一课 创建主窗口及Label部件 】
python中通常我们写程序,显示结果和操作都是在终端区,如果要想实现一个有显示界面的程序那该怎样实现呢?python中有好几个库都可以实现,这个系列我们一起来学习如何使用python自带的tkinter库来实现。
叶子陪你玩
2020/03/12
1.3K0
【tkinter系列 第七课 Scale部件 】
python中通常我们写程序,显示结果和操作都是在终端区,如果要想实现一个有显示界面的程序那该怎样实现呢?python中有好几个库都可以实现,这个系列我们一起来学习如何使用python自带的tkinter库来实现。
叶子陪你玩
2020/03/12
2.4K0
python tkinter 设计指南
pack() 是一种较为简单的布局方法,在不使用任何参数的情况下,它会将控件以添加时的先后顺序,自上而下,一行一行的进行排列,并且默认居中显示。pack() 方法的常用参数如下所示:
独元殇
2023/03/21
7.1K0
Python GUI编程:Tkinter
Python里的图形化界面(GUI)模块主要有Tkinter(python自带)、PyQt、wxPython,我们这节主要讲解Tkinter组件:
小雨coding
2020/08/03
7.4K0
【tkinter系列 第八课 Listbox窗口部件 】
python中通常我们写程序,显示结果和操作都是在终端区,如果要想实现一个有显示界面的程序那该怎样实现呢?python中有好几个库都可以实现,这个系列我们一起来学习如何使用python自带的tkinter库来实现。
叶子陪你玩
2020/03/11
2K0
Python初学——窗口视窗Tkinter
此篇文章是跟着沫凡小哥的视频学习的,附上学习网址:https://morvanzhou.github.io/tutorials/python-basic/ 什么是 tkinter 窗口 1.1 什么是
闪电gogogo
2018/01/08
6.6K0
Python初学——窗口视窗Tkinter
过分了,别人用来做桌面应用开发,这家伙却用来撩妹(4)--运动的火柴人
我算是知道了,这个tkinter是真的好玩,还非常有趣,希望大家都可以去了解一下。
大家一起学编程
2021/07/30
1.2K0
过分了,别人用来做桌面应用开发,这家伙却用来撩妹(4)--运动的火柴人
相关推荐
Tkinter Canvas
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验