Tkinter - 不均匀的帧重叠

问题描述

有人可以确认是否有可能创建尺寸不均匀重叠的Tkinter框架,然后通过使用Tkinter raise函数,我想显示我需要的任何框架,但由于某种原因,我不能找到一个选项来做到这一点,非常感谢任何建议/建议。

类似于下图,黄色、绿色和红色就像是 3 个不同的框架

先谢谢你..!!

enter image description here

解决方法

是的,这是可能的,尽管框架中没有透明度。如果您真的不需要框架而只需要矩形,this answer 将展示如何通过画布上的图像获得透明度。

您的帖子并不清楚您所期望的内容,但这里有一个示例,它使用 place 像您的图片一样排列框架。如果您运行代码,您可以单击一个框架将其升至顶部。

import tkinter as tk

root = tk.Tk()
root.geometry("800x800")

yellow_frame = tk.Frame(root,width=800,height=300,background="yellow",bd=8,relief="solid")
green_frame = tk.Frame(root,background="green",relief="solid")
red_frame = tk.Frame(root,width=200,height=800,background="red",relief="solid")

yellow_frame.place(x=0,y=0,anchor="nw")
green_frame.place(x=0,y=300,anchor="nw")
red_frame.place(x=500,anchor="nw")

for frame in (yellow_frame,green_frame,red_frame):
    frame.bind("<1>",lambda event: event.widget.lift())

root.mainloop()

screenshot,red on top

screenshot,green on top