You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tkinter脚本运行与终端直接执行时窗口透明度行为不一致问题求助

Tkinter脚本运行与终端直接执行时窗口透明度行为不一致问题求助

我正在尝试创建一个带透明度的界面,本以为这应该很简单,但遇到了一个让人困惑的bug。

如果我在终端里直接运行以下代码:

import tkinter as tk
root = tk.Tk()
root.geometry("400x400")
root.attributes("-alpha", 0.5)
root.mainloop()

一切正常,窗口按照我要求的尺寸和透明度完美创建出来了。但如果我把代码写成脚本(在同一个环境下运行),比如这样:

import tkinter as tk

if __name__ == "__main__":
    root = tk.Tk()
    root.geometry("400x400")
    root.attributes("-alpha", 0.5)
    root.mainloop()

就不行了——窗口尺寸是对的,但透明度完全没生效。

我试过用wm_attributes和attributes两种方式,在运行python script.py的时候都不管用。

我是不是疯了?为什么这两种运行方式会有区别?

我的环境是完全一致的:用的是Python 3.13,没有其他依赖,系统是Ubuntu 22.04,窗口系统是x11。


补充说明:

我附上了环境一致的证明截图:截图里能看到当前所在文件夹、git状态、Python环境信息以及笔记本电量,确认两次运行的环境完全相同。

备注:内容来源于stack exchange,提问作者Nathan Gavenski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 17:44:36