返回顶部
首页 > 资讯 > 后端开发 > Python >tkinter -- Canvas(2)
  • 349
分享到

tkinter -- Canvas(2)

tkinterCanvas 2023-01-30 22:01:45 349人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

创建 item 的 tags使用属性 tags 设置 item 的 tag使用 Canvas 的方法 gettags 获取指定 item 的 tags代码:import tkinter as tk root&n

创建 item 的 tags

使用属性 tags 设置 item 的 tag

使用 Canvas 的方法 gettags 获取指定 item 的 tags

代码:

import tkinter as tk
root = tk.Tk()
# 创建一个 canvas,设置其背景色为白色
cv = tk.Canvas(root, bg='white')

# 使用 tags 指定一个 tags('r1')
rt = cv.create_rectangle(10, 10, 110, 110, tags='r1')
cv.pack()
print(cv.gettags(rt))
# 使用 tags 属性指定多个 tags,即重新设置 tags 的属性
cv.itemconfig(rt, tags=('r2', 'r3', 'r4'))
print(cv.gettags(rt))
root.mainloop()

结果:

blob.png


多个 item 使用同一个 tag

多个控件使用同一个 tag

代码:

import tkinter as tk
root = tk.Tk()
# 创建一个 Canvas,设置其背景色为白色
cv = tk.Canvas(root, bg='white')

# 使用 tags 指定一个 tags('r1')
rt = cv.create_rectangle(10, 10, 110, 110, tags=('r1', 'r2', 'r3'))
cv.pack()
cv.create_rectangle(20,20,80,80,tags='r3')
print(cv.find_withtag('r3'))
root.mainloop()

结果:

blob.png

动态修改 item 的坐标

find_withtag 返回所有与 tag 绑定的 item




通过 tag 来访问 item

得到了 tag 值也就得到了这个 item,可以对这个 item 进行相关的设置

代码:

import tkinter as tk
root = tk.Tk()
# 创建一个 Canvas,设置其背景色为白色
cv = tk.Canvas(root, bg='white')

# 使用 tags 指定一个 tags('r1')
rt = cv.create_rectangle(10, 10, 110, 110, tags=('r1', 'r2', 'r3'))
cv.pack()
cv.create_rectangle(20, 20, 80, 80,tags='r3')
# 将所有与tag('r3')绑定的item边框颜色设置为蓝色
for i in cv.find_withtag('r3'):
    cv.itemconfig(i, outline='blue')
root.mainloop()

结果:

blob.png

动态修改与 tag('r3')绑定的 item 边框颜色



向其它 item 添加 tag

使用 addtag_来向上一个或下一个 item 添加 tag

代码:

import tkinter as tk
root = tk.Tk()
# 创建一个 Canvas,设置其背景色为白色
cv = tk.Canvas(root, bg='white')

# 创建三个rectangle
rt1 = cv.create_rectangle(10, 10, 110, 110, tags=('r1', 'r2', 'r3'))
rt2 = cv.create_rectangle(20, 20, 80, 80, tags=('s1', 's2', 's3'))
rt3 = cv.create_rectangle(30, 30, 70, 70, tags=('y1', 'y2', 'y3'))
# 向 rt2的上一个 item 添加 r4
cv.addtag_above('r4', rt2)
# 向 rt2的下一个 item 添加 r5
cv.addtag_below('r5', rt2)

for i in [rt1, rt2, rt3]:
    print(cv.gettags(i))
cv.pack()
root.mainloop()

结果:

blob.png

Canvas 使用了 stack 的技术,新创建的 item 总是位于前一个创建的 item 之上,故调用above 时,它会查找 rt2上面的 item 为 rt3,故 rt3中添加了 tag('r4'),同样 add_below 会查找下面的 item



返回其它 item

使用 find_xxx 查找上一个或下一个 item

代码:

import tkinter as tk
root = tk.Tk()
# 创建一个 Canvas,设置其背景色为白色
cv = tk.Canvas(root, bg='white')

# 创建三个rectangle
rt1 = cv.create_rectangle(10, 10, 110, 110, tags=('r1', 'r2', 'r3'))
rt2 = cv.create_rectangle(20, 20, 80, 80, tags=('s1', 's2', 's3'))
rt3 = cv.create_rectangle(30, 30, 70, 70, tags=('y1', 'y2', 'y3'))
# 查找 rt2的上一个 item,并将其边框颜色设置为红色
cv.itemconfig(cv.find_above(rt2), outline='red')
# 查找 rt2的下一个 item,并将其边框颜色设置为绿色
cv.itemconfig(cv.find_below(rt2), outline='green')

cv.pack()
root.mainloop()

结果:

blob.png

Canvas 使用了 stack 的技术,新创建的 item 总是位于前一个创建的 item 之上,故调用above 时,它会查找 rt2上面的 item 为 rt3,故 rt3中边框颜色设置为红色,同样 add_below会查找下面的 item

--结束END--

本文标题: tkinter -- Canvas(2)

本文链接: https://lsjlt.com/news/179109.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • tkinter -- Canvas(2)
    创建 item 的 tags使用属性 tags 设置 item 的 tag使用 Canvas 的方法 gettags 获取指定 item 的 tags代码:import tkinter as tk root&n...
    99+
    2023-01-30
    tkinter Canvas
  • tkinter -- Canvas(3)
    移动 itemmove 指定 x,y 在偏移量代码:import tkinter as tk root = tk.Tk() # 创建一个 Canvas,设置其背景色为白...
    99+
    2023-01-30
    tkinter Canvas
  • tkinter -- Canvas(1)
    提供可以用来进行绘图的 Container,支持基本的几何元素,使用 Canvas 进行绘图时,所有的操作都是通过 Canvas,不是通过它的元素元素的表示可以使用 handle 或 tag第一个Canvas程序,指定画布的颜色为白色代码:...
    99+
    2023-01-30
    tkinter Canvas
  • tkinter -- Canvas(4)
    绘制弧形代码;# 绘制弧形 import tkinter as tk root = tk.Tk() # 创建一个 Canvas,设置其背景色为白色 cv&nbs...
    99+
    2023-01-30
    tkinter Canvas
  • tkinter -- Text (2)
    使用 tag 来指定文本的属性创建一个指定背景颜色的 TAG代码:import tkinter as tk root = tk.Tk() t = tk.Text(root...
    99+
    2023-01-30
    tkinter Text
  • tkinter -- Event(2)
    测试离开(Leave)事件测试鼠标释放事件代码:import tkinter as tk root = tk.Tk() def printcoords(event):  ...
    99+
    2023-01-30
    tkinter Event
  • Python Tkinter Canvas画布控件怎么使用
    这篇文章主要讲解了“Python Tkinter Canvas画布控件怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python Tkinter&nbs...
    99+
    2023-06-28
  • Python 的Tkinter包系列之三:Canvas(画布)
    Python 的Tkinter包系列之三:Canvas(画布) Tkinter 的Canvas(画布)控件具有两个功能,首先它可以用来绘制各种图形(图片),比如直线、弧形、椭圆形、多边形和矩形等,也可以在上面放置图片(graphics)、...
    99+
    2023-10-24
    python 开发语言
  • tkinter使用js的canvas实现渐变色
    目录1. 使用rgb表示颜色2. tkinter canvas组件3. 设置渐变3.1 渐变的原理3.2 实例1总结之前呢,我一直对GUI不是很感兴趣,但是呢,最近由于某些特殊原因,...
    99+
    2024-04-02
  • tkinter如何使用js的canvas实现渐变色
    这篇文章主要讲解了“tkinter如何使用js的canvas实现渐变色”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“tkinter如何使用js的canvas实现渐变色”吧!1. 使用rgb表...
    99+
    2023-06-21
  • Python编程tkinter库Canvas实现涂鸦颜色表及围棋盘示例
    目录tkinter库Canvas操作三个实例实例一:涂鸦运行效果图:其它作图函数:实例二:颜色表运行效果图:实例三:围棋盘运行效果图:tkinter库Canvas操作三个实例 实例一...
    99+
    2024-04-02
  • Android利用Canvas标点画线并加入位移动画(2)
    本文实例为大家分享了Android利用Canvas标点画线,并加入位移动画的具体代码,供大家参考,具体内容如下 1.背景 继上次公司需求实现Canvas面板标记点,画折现,并利用属性...
    99+
    2024-04-02
  • Tkinter canvas的画布参数,删除组件,添加垂直滚动条详解
    目录1、画布 Canvas的参数2、删除鼠标下的组件3、带垂直滚动条的画布总结1、画布 Canvas的参数 from tkinter import * win = Tk() wi...
    99+
    2024-04-02
  • tkinter -- CheckButton
    Checkbutton 又称为多选按钮可以表示两种状态:On 和 Off,可以设置回调函数,每当点击此按钮时回调函数被调用一个简单的Checkbutton例子:示例:import tkinter as tk r...
    99+
    2023-01-30
    tkinter CheckButton
  • tkinter -- button1
    Button 功能触发事件一个简单的button应用示例:import tkinter as tk # 定义button的回调函数 def py3study():   ...
    99+
    2023-01-30
    tkinter
  • tkinter -- Entry
    Entry 用来输入单行文本示例:import tkinter as tk root = tk.Tk() tk.Entry(root, text='input &...
    99+
    2023-01-30
    tkinter Entry
  • tkinter -- RadioButton
    Radiobutton 为单选按钮,即在同一组内只能有一个按钮被选中,每当选中组内的一个按钮时,其它的按钮自动改为非选中态,与其他控件不同的是:它有组的概念不指定绑定变量,每个Radiobutton自成一组创建一个简单的Radiobutto...
    99+
    2023-01-30
    tkinter RadioButton
  • tkinter -- button2
    指定button的宽度和高度width:  宽度height: 高度使用三种方式:1 创建button对象时,指定宽度与高度2 使用属性width和height来指定宽度和高度3 使用configure方法来指定宽度与高度示例:i...
    99+
    2023-01-30
    tkinter
  • tkinter -- Scale
    Scale 为输出限定范围的数字区间,可以为之指定最大值,最小值及步距值创建一个Scale代码:import tkinter as tk root = tk.Tk() tk.Scale(ro...
    99+
    2023-01-30
    tkinter Scale
  • tkinter -- Scrollbar
    Scrollbar(滚动条),可以单独使用,但最多的还是与其它控件(Listbox,Text,Canva 等)结合使用创建一个Scrollbar代码:import tkinter as tk root&nbs...
    99+
    2023-01-30
    tkinter Scrollbar
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作