WXPython中单个控件的不透明度

2 投票
1 回答
695 浏览
提问于 2025-04-16 11:08

在WXPython中,是否可以控制每个小部件的透明度?

我知道可以通过self.SetTransparent(150)让整个窗口变得透明,那有没有办法让单独的小部件也变透明呢?

1 个回答

5

因为几乎所有可见的东西都是从 wx.Window 这个基础上来的,所以你可以在大多数控件上使用 item.SetTransparent() 来设置透明度。

不过,并不是所有的东西都能变透明。要检查一下:

if button.CanSetTransparent():
    button.SetTransparent(100)

但是,wxPython 的文档上说:

如果这个平台支持设置窗口的透明度,就会返回 True。需要注意的是,这个方法会比较谨慎,所以有可能在实际上可以设置透明度的情况下,它会返回 False。

所以这个方法并不是特别可靠。我建议你直接尝试设置透明度。

撰写回答