root.attributes("-transparentcolor", "white")
不适用于.pyw
文件扩展名
直到昨天,我所有的 tkinter GUI 都在正常工作,但是两天前它们都停止了工作,就像我希望的那样。这条线root.attributes("-transparentcolor", "white")
一直使白色透明,就像它应该的那样,但现在它不像以前那样工作了。如果我使用.py
文件扩展名而不是.pyw
. 显然,我不希望控制台窗口与我的所有程序一起打开,所以这不是我可以接受的。就像我说的,直到昨天这一切都很好。
在过去的一天里,我一直在做各种各样的事情来尝试解决这个问题,我什至完全卸载了 python 并重新安装了最新版本,但没有任何改变我的问题。
我Windows 10 and python 3.9.1
现在正在(重新安装后,不记得我以前的版本)
我没有做任何可能导致这种情况发生的事情,在我的问题出现之前我没有更新或更改任何东西,我只是像往常一样在早上启动我的电脑。
有人知道我可以尝试什么吗?任何人都可以尝试做同样的事情,看看它是否适合你?
如果保存为 .py 文件,下面的代码会创建一个具有透明背景的 tkinter 窗口,但如果保存为 .pyw 文件,则会创建一个具有白色背景的 tkinter 窗口。
from tkinter import *
root = Tk()
root.config(bg= 'white')
root.attributes('-transparentcolor', 'white')
root.mainloop()
更新:
嗯...我发现了一些有趣的东西!如果我通过 cmd 提示符使用 pythonw 启动我的程序,我的问题仍然会出现,但是如果我使用以管理员身份运行的 cmd 提示符执行相同的操作,它会像以前一样工作,我会得到一个透明的背景!
更新 2:
我已将 pythonw.exe 设置为始终以管理员身份运行,这解决了我的问题。但是如果我这样做,我总是会收到一个以前从未收到过的 uac 提示,所以我没有解决我的问题,我只是找到了一个乏味的解决方法。