python - 是否可以让 tkinter 窗口透明但上面的小部件是实心的?
问题描述
我正在尝试用文本为我的屏幕制作一个叠加层,但是每当我打开一个透明的 tkinter 屏幕时:
app.wm_attributes("-alpha", 0.1)
标签和按钮也几乎完全透明,有没有办法解决这个问题?
解决方案
据我所知,tkinter 不支持单个小部件或颜色的 alpha 范围。
但你可以-transparentcolor
改用。这使您可以选择一种颜色来应用完全透明度。
注意: -alpha
和-transparentcolor
都是顶级属性,因此会影响添加到窗口的所有子小部件。
下面的代码说明了-transparentcolor
.
import tkinter as tk
root = tk.Tk()
root['bg'] = 'grey'
root.attributes('-transparentcolor', 'grey')
lbl = tk.Label(text='Hello World!', font='Helvetica 36 bold', bg='green', fg='grey')
btn = tk.Button(text='Button', font='Helvetica 36', bg='grey', fg='blue')
canvas = tk.Canvas(bg='grey')
lbl.pack()
canvas.pack()
btn.pack()
root.mainloop()
推荐阅读
- reactjs - 使用 DynamicRoutes、nextJS 和 useEffect 在 React 中获取数据
- html - 如何在移动和 Safari 上选择 CSS 背景图像以供选择
- pandas - Pandas fillna 功能未按预期运行
- kotlin - Kotlin 智能转换在 Iterable<*> 上失败
- git - 混帐添加。不工作,但 git add filename.js 工作,为什么以及如何解决它?
- rdf - 本体的类定义如何形成无限循环(如何避免这种情况)?
- c++ - 有 16 大小数据的类型吗?
- java - 单击菜单栏时如何显示表格?
- swift - Firebase 快照侦听器是否在它们附加到的对象被取消初始化时分离?
- java - 在java中使用递归重新排列数组,以便偶数值出现在赔率之前