【发布时间】:2025-12-01 16:30:01
【问题描述】:
我注意到在多个小部件的画布上绘制纹理(使用 Rectangle prims)时,一些小部件变得部分透明,从而让后面的图像显示出来。
有没有办法阻止这种行为?
【问题讨论】:
-
我不熟悉这种行为,你能提供一个最小的可运行示例吗?
-
没有具体代码。我的应用程序是这样分解的...... 1 个小部件类代表游戏世界。从这个小部件中添加和删除所有其他小部件。创建一个滚动视图来保存游戏世界小部件。我在其他模块中有代表游戏世界对象的小部件类。每个对象类都有自己的一组小部件,可以从它的画布呈现图像。每个图像都使用 io.BytesIO 方法加载并转换为纹理,然后以 texture=bytesimage 的形式绘制到画布的 Rectangle prim。
-
当我运行我的应用程序时,一些 png 图像是完全透明的,而另一些是透明的。我有一个模块可以在我放大窗口时调整每个小部件的大小,当我放大窗口时,图像的透明渲染似乎会随机播放。一些没有被透视的小部件变成了透视,而其他被透视的小部件不再被透视。 Kivy 1.9.0
-
补充一下,我不用kv文件,只用python。
-
似乎与多个 rgba 图像相互重叠或重叠有关。