如何在基维的桌面应用程序上制作透明屏幕?



我想做一个透明的窗口,可以看到窗户的背面。 我更改了BoxLayout画布的rgba,但它有一个黑色窗口。

from kivy.app import App
class textApp(App):
pass
if __name__=='__main__':
textApp().run()

基维

BoxLayout:
orientation: 'vertical'
canvas:
Color:
rgba: 0,0,0,0 #I changed here
Rectangle:
pos: self.pos
size: self.size 
Label:
text: 'this is trancparent box'
size_hint_y: 9 
Label:
text: 'this is comment box'
size_hint_y: 1
color: 0,0,1,1 

在此处输入图像描述

是的,我们可以使用pywin32使 kivy 窗口透明,但值得考虑的是,透明度将提供给整个窗口,而不是背景。

import win32api
import win32gui
import win32con
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.core.window import Window
class AddWarning(FloatLayout):
pass
class WarningApp(App):
def build(self):
Window.set_title("ht")
HWND = win32gui.FindWindow(None, 'ht')
win32gui.SetWindowLong(HWND, win32con.GWL_EXSTYLE, win32gui.GetWindowLong(HWND, win32con.GWL_EXSTYLE) | win32con.WS_EX_LAYERED)
win32gui.SetLayeredWindowAttributes(HWND, win32api.RGB(0,0,0), 230, win32con.LWA_ALPHA)
return AddWarning()
if __name__ == '__main__':
WarningApp().run()

相关内容

最新更新