首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用tkinter在透明窗口的不同位置创建3(红色)不透明矩形轮廓?

如何使用tkinter在透明窗口的不同位置创建3(红色)不透明矩形轮廓?
EN

Stack Overflow用户
提问于 2020-06-21 04:57:04
回答 1查看 67关注 0票数 1

我想把三个独立的红色盒子放在透明的窗户上。

我使用的第一种方法依赖于一张带有透明背景的三个矩形框的图片(因为我是tkinter的新手),然后把它放在透明窗口上。

代码语言:javascript
复制
from PIL import ImageTk, PngImagePlugin
from tkinter import *

import tkinter as tkr

app = tkr.Tk()
app.title("AI Cashier")
app.geometry("1366x768")
app.wm_attributes("-alpha", 0.1)


my_img = ImageTk.PhotoImage(PngImagePlugin.Image.open("Capture1.png"))
my_label = Label(image= my_img)
my_label.pack()

app.mainloop()

然而,最终结果也给了我透明的红色矩形.你能帮我解决这个问题吗?

我想尝试第二种方法,使用代码来绘制红色矩形,而不是使用图片,但我真的不知道如何...

我敢打赌,这是一个愚蠢的问题,但感谢任何想要回答这个问题的人。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-21 12:41:25

这是一个聪明的问题..。

我已经想出了一个解决这个问题的办法。-alpha属性用于调整整个窗口的透明度,为了仅调整窗口的某些部分(小部件)的透明度,我们使用-transparentcolor属性。我们所做的就是指定一种颜色作为我们的透明颜色,每当我们使用与任何小部件的bg颜色相同的颜色时,它都会自动将该特定小部件设置为透明颜色。

这是我的代码..

代码语言:javascript
复制
import tkinter as tkr
app = tkr.Tk()
app.title("AI Cashier")
app.geometry("1366x768")
app.wm_attributes("-transparentcolor", "white")  #the color "White" will now be used to represent a transparent background
app.config(bg = "White")
can = tkr.Canvas(app,bg = "White",highlightthickness = 0)
can.create_rectangle(100,50,160,100,outline = "Black",fill="red",width = 2)
can.create_rectangle(180,50,240,100,outline = "Black",fill="red",width = 2)
can.create_rectangle(260,50,320,100,outline = "Black",fill="red",width = 2)
can.pack()
app.mainloop()

输出-

我希望这能帮助你..。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62491578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档