如何在Tkinter上隐藏和显示画布中的项目?
Canvas小部件是Tkinter中功能最多的小部件之一。它在许多应用程序中用于设计图形用户界面,比如设计、添加图像、创建图形等。我们可以在Canvas小部件本身中添加小部件。位于画布内的小部件有时被称为“画布项”。
如果我们想通过一个按钮来显示或隐藏画布项,那么可以使用itemconfig( id, state )方法中的” state “属性来实现。
例子
在这个例子中,我们将会在画布中添加一个图像,并使用一个按钮来显示/隐藏画布中的图像。
# 导入所需库
from tkinter import *
from tkinter import ttk
from PIL import Image, ImageTk
# 创建一个tkinter框架或窗口的实例
win = Tk()
# 设置窗口的大小
win.geometry("700x350")
# 全局声明布尔值
show = True
def on_click():
global show
# 判断图像是否被隐藏
if show:
canvas.itemconfig(1, state='hidden')
show = False
else:
canvas.itemconfig(1, state='normal')
show = True
# 添加一个Canvas小部件
canvas = Canvas(win, width=440, height=300)
canvas.pack()
# 在画布中添加图像
img = ImageTk.PhotoImage(file="bird.jpg")
canvas.create_image(200, 200, image=img, anchor=CENTER)
# 添加一个按钮来显示/隐藏画布项
ttk.Button(win, text="显示/隐藏", command=on_click).pack()
win.mainloop()
输出
如果我们运行以上的代码,它将显示一个带有图像和一个按钮用于触发隐藏和显示图像的函数的窗口。
现在,点击按钮来显示或隐藏图像。