gpt4 book ai didi

python - 具有(不透明)可见形状的 Tkinter Python 透明背景?

转载 作者:行者123 更新时间:2023-12-04 13:54:29 24 4
gpt4 key购买 nike

我想在该窗口内创建一个不可见的透明背景和可见形状。我写了下面的代码,但是你可以看到对象也是透明的,我该如何解决这个问题?

#!/usr/bin/env python3

from tkinter import *

window = Tk()
window.wait_visibility(window)
window.wm_attributes('-alpha',0.1)


def drag(event):
event.widget.place(x=event.x_root, y=event.y_root,anchor=CENTER)

card = Canvas(window, width=74, height=97, bg='blue')
card.place(x=300, y=600,anchor=CENTER)
card.bind("<B1-Motion>", drag)

another_card = Canvas(window, width=74, height=97, bg='red')
another_card.place(x=600, y=600,anchor=CENTER)
another_card.bind("<B1-Motion>", drag)

window.mainloop()

换句话说,我不希望我的对象是透明的。我只希望屏幕透明。将来我可能会在窗口中添加图片矩形等。但我希望所有这些都在透明背景下可见。有什么帮助吗?

我的操作系统:Ubuntu

注意:对于所有遇到相同问题的人,我将我的库更改为 WXPython。它有透明背景、透明窗口、不同形状的窗口等。但如果你们能找到解决方案,我将感谢社区。在 UBUNTU 中没有找到这个问题的答案。 Windows 和 Mac 都有,BR

最佳答案

我有一个解决方法,它在 Windows 中工作,但不确定是否使用透明 Canvas 来使用 ubuntu

from tkinter import *

window = Tk()
window.lift()
window.wm_attributes("-topmost", True)
window.wm_attributes("-transparentcolor", 'gray')
window.wait_visibility()

canvas = Canvas(window, width=500, height=500)
canvas.pack()
canvas.config(cursor='tcross')
canvas.create_rectangle(0, 0, 500, 500, fill='gray', outline='gray')

def drag(event):
event.widget.place(x=event.x_root, y=event.y_root,anchor=CENTER)

card = Canvas(window, width=74, height=97, bg='blue')
card.place(x=0, y=0,anchor=CENTER)
card.bind("<B1-Motion>", drag)

another_card = Canvas(window, width=74, height=97, bg='red')
another_card.place(x=600, y=600,anchor=CENTER)
another_card.bind("<B1-Motion>", drag)
window.mainloop()

引用资料: https://stackoverflow.com/a/42880450/10849457

输出: Result

关于python - 具有(不透明)可见形状的 Tkinter Python 透明背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65051696/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com