python - 有没有办法用 Tkinter 创建透明窗口?

标签 python user-interface window tkinter transparent

最终,我正在尝试使用 Tkinter 模块使用 Python 创建“奇形怪状的窗口”。但现在我将满足于能够使背景透明同时保持子窗口小部件完全可见。

我知道这是用 wxPython 和其他一些模块完成的,但我正在询问 Tkinter 的限制。

Tkinter 可以创建清晰的 Canvas 或 Frame 吗?它可以在没有 Canvas 或框架的情况下打包 UI 元素吗?单个 UI 元素可以透明吗?

它能否将鼠标点击位置传回系统以处理 Z 堆栈中其下方的任何窗口?

最佳答案

选项root.attributes('-alpha', 0.1)可用于制作透明窗口

from Tkinter import *
root = Tk()
root.attributes('-alpha', 0.3)
root.mainloop()

但是在这种情况下,即使是根上的小部件也将继承透明度。

Linux 更新(已在 Ubuntu 上测试)

以上代码不适用于 Linux 机器。这是适用于 Linux 的更新。

from tkinter import Tk # or(from Tkinter import Tk) on Python 2.x
root = Tk()
root.wait_visibility(root)
root.wm_attributes('-alpha',0.3)
root.mainloop()

不确定这是否适用于 Windows。

关于python - 有没有办法用 Tkinter 创建透明窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18394597/

相关文章:

java - 如何通过 GUI 使用 sleep(或类似 sleep 的东西)

java - 如何删除 JLabel 上的边框?

ios - 表格 View 未正确适应键盘

c# - 如何检测哪个窗口是前景窗口?

cocoa - 隐藏 NSWindow 的一部分(动画)

python - conda 更新使 python 崩溃

python - 平面拟合到 4 个(或更多)XYZ 点

python - 如何将 exec 的输出设置为变量 python?

java - 如何在java中创建对话框窗口?

python - 一旦音量低于python-sounddevice的阈值,停止记录