如何解决如何在画布上使用标签
我正在设计一个 GUI,我希望在多个选项卡中显示不同的图像,并且我正在使用画布。但是,当我在一个选项卡中打开图像时,它会打开,但是当在另一个选项卡中打开图像时,在上一个选项卡中打开的图像会被清除。
root = Tk()
root.title('Text-Editor')
root.resizable(width=True,height=True)
root.geometry("1400x660")
root.columnconfigure(0,weight=1)
root.rowconfigure(0,weight=1)
my_frame = Frame(root)
my_frame.grid(row=0,column=0,sticky="nswe")
my_frame.columnconfigure(0,weight=1)
my_frame.columnconfigure(1,weight=6)
my_frame.rowconfigure(0,weight=1)
left_frame = Frame(my_frame)
left_frame.grid(row=0,sticky="nswe")
left_frame.columnconfigure(0,weight=1)
left_frame.rowconfigure(0,weight=1)
right_frame = Frame(my_frame)
right_frame.grid(row=0,column=1,sticky="nswe")
right_frame.columnconfigure(0,weight=1)
right_frame.rowconfigure(0,weight=1)
tabcontrol = ttk.Notebook(right_frame)
tabcontrol.grid(row = 0,column = 0,sticky = "nswe")
my_menu = Menu(root)
root.config(menu=my_menu)
scrollbar_object = Scrollbar(left_frame)
scrollbar_object2 = Scrollbar(right_frame)
scrollbar_object.grid(row=0,sticky='ns')
scrollbar_object2.grid(row=0,sticky='ns')
def permap_img():
global img
per_map(gpath)
xscrollbar = Scrollbar(right_frame,orient=HORIZONTAL)
xscrollbar.grid(row=1,sticky=E + W)
yscrollbar = Scrollbar(right_frame)
yscrollbar.grid(row=0,sticky=N + S)
canvas_1 = Canvas(right_frame,bd=0,xscrollcommand=xscrollbar.set,yscrollcommand=yscrollbar.set)
canvas_1.grid(row=0,sticky=N + S + E + W)
file = "map.png"
img = ImageTk.PhotoImage(Image.open(file))
canvas_1.create_image(0,image=img,anchor=CENTER)
canvas_1.config(scrollregion=canvas_1.bBox(ALL))
xscrollbar.config(command=canvas_1.xview)
yscrollbar.config(command=canvas_1.yview)
tabcontrol.add(canvas_1)
def nvd_img():
global img
nvdmap(gpath)
xscrollbar = Scrollbar(right_frame,sticky=N + S)
canvas_2 = Canvas(right_frame,yscrollcommand=yscrollbar.set)
canvas_2.grid(row=0,sticky=N + S + E + W)
file = "nvd_map.png"
img = ImageTk.PhotoImage(Image.open(file))
canvas_2.create_image(0,anchor="center")
canvas_2.config(scrollregion=canvas_2.bBox(ALL))
xscrollbar.config(command=canvas_2.xview)
yscrollbar.config(command=canvas_2.yview)
tabcontrol.add(canvas_2)
visual_menu = Menu(my_menu,tearoff = False)
my_menu.add_cascade(label = "Visualize",menu = visual_menu)
permissions_menu.add_command(label = "normal Vs Dangerous",command = nvd_img)
permissions_menu.add_command(label = "Permission Categories",command = permap_img)
这是我迄今为止尝试过的代码。谁能帮我解释为什么会这样?滚动条也在一个标签中工作,当我在另一个标签中打开新图像时它不起作用
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。