【问题标题】:python tkinter toplevel transparentpython tkinter 顶层透明
【发布时间】:2023-03-14 18:22:01
【问题描述】:

我知道周围有很多这样的问题,有些说可以,有些说不行,但是大多数都超过 2 岁,所以我认为可能会有一些变化让我的不行,我想做的只是使用 python 3.4 使 tkinter 窗口透明,

这是我的代码:

from tkinter import *
import time
root = Tk()
root.geometry('600x300')
root.wm_attributes('-alpha',0.3)
l = Label(root,bg='white',text='Text',width=50,height=20)
l.pack()


root.mainloop()

这会创建一个窗口、一个标签等,但我看不到任何透明度,我真的很喜欢任何帮助...谢谢

哦,顺便说一句,我使用的是 linux,我从另一个网站获得了 wm_atributes,据说它可以工作,但它可能意味着它适用于 windows

【问题讨论】:

  • 使用 python 3.4 和 windows 7 是透明的
  • 在 Linux 上使用 Python 3.6(我几周前自己编译)不透明。

标签: python tkinter python-3.4 transparent


【解决方案1】:

哦,看来问题出在 Linux 上,我已将 propgram 复制到 Windows 7,现在它可以工作了,感谢您的帮助,所以对于其他可能觉得这很有用的人:

使用:

from tkinter import *
import time
root = Tk()
root.geometry('600x300')
root.wm_attributes('-alpha',0.3)
l = Label(root,bg='white',text='Text',width=50,height=20)
l.pack()


root.mainloop()

这适用于 windows,但由于某种原因不适用于 linux...

希望这有帮助

谢谢!

【讨论】:

  • 某些功能有时不起作用的原因是因为 Tcl/tk(以及扩展的 tkinter)严重依赖于操作系统的底层框架/窗口管理器。如果窗口管理器不知道如何处理 alpha,tkinter 也无能为力。类似地,在 OS X 上使用 aqua 窗口管理器/主题的 tkinter 程序无法更改按钮的颜色——这都是底层框架。
  • 在 Ubuntu 16.04 上,您可以使用 root.wait_visibility(root) 使其工作 - 请参阅 stackoverflow.com/questions/18394597/…
猜你喜欢
  • 2010-10-07
  • 2017-08-09
  • 1970-01-01
  • 2013-04-06
  • 2011-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-11
相关资源
最近更新 更多