How to leave the window with transparent background on Kivy

Hello, I'm trying to make a program that creates a window Without Borders and with the transparent background.

The first part I already got:

Window.borderless = True

But I still couldn't make the background transparent. Does anyone know how to do this?

Author: Vitor Daniel, 2020-01-27

1 answers

Vitor uses this example function:

from kivy.config import Config

Config.set('graphics', 'position', 'custom')

Config.set('graphics', 'fullscreen', 'fake')

Config.set('graphics', 'top', '0')

Config.set('graphics', 'left', '0')

Config.set('graphics', 'resizable',  True)

from kivy.app import App

from kivy.uix.label import Label

from kivy.core.window import Window

Window.size = (1000, 500)

from kivy.uix.widget import Widget

from kivy.uix.boxlayout import BoxLayout

from kivy.uix.textinput import TextInput

from kivy.uix.button import Button

from kivy.uix.floatlayout import FloatLayout

from kivy.graphics import Color, Ellipse, Line,Rectangle

from kivy.uix.screenmanager import ScreenManager, Screen

from kivy.uix.relativelayout import RelativeLayout

from kivy.uix.image import Image

import win32gui

import win32con

import win32api,pywintypes

import win32gui

import win32con

import win32api,pywintypes

class Program(App):

    def on_start(self):

        hwnd = win32gui.FindWindow(None, "pencere")

        win32gui.SetWindowLong(hwnd, win32con.GWL_EXSTYLE,win32gui.GetWindowLong(hwnd,win32con.GWL_EXSTYLE) | win32con.WS_EX_LAYERED | win32con.WS_CHILD | win32con.WS_EX_TRANSPARENT |win32con.WS_EX_TOPMOST)

        win32gui.SetLayeredWindowAttributes(hwnd, win32api.RGB(255, 0, 128),40, win32con.LWA_ALPHA)

    def build(self):

        sm = ScreenManager()

        duzen = FloatLayout()

        screen = Screen(name='deneme ekran 1')

        self.title = "pencere"

        yazi = Label(text = self.title,pos=(10,10),size=(100,35),size_hint=(None,None),halign="center",bold=True,color=(1,1,1,1))

        buton = Button(text="",size_hint=(None,None),size=(26,26))

        buton.pos = (0,0)

        buton.background_normal = "minimize.png"

        buton.background_down = "minimize.png"

        with Window.canvas:

            Color(0,1,0,1)

            Rectangle(pos=(10, 10), size=(100, 40))

            duzen.add_widget(yazi)

        return duzen

Program().run()

I used this when I started, I removed this from reddit.

Following reference: link

 1
Author: Clayton Tosatti, 2020-02-03 14:05:27