如何在 Kivy 中创建无边框 window?

How do I create a borderless window in Kivy?

我正在使用 Kivy 构建一个 python 桌面应用程序,并想了解如何创建无边框 window 类似于 EVE Online 的做法:EVE Online launch screen

这就是我现在所处的位置,以及我下一步想要实现的目标:What I want to accomplish

我花了几个小时在谷歌上搜索解决方案,但我最接近的是这些链接:How can I hide the main window titlebar and place a transparent background in kivy framework?, and this: Borderless windows in wxPython

这是当前代码(Python 2.7,Kivy 1.9):

from kivy.app import App
from kivy.uix.button import Button
from kivy.config import Config

Config.set('graphics', 'width', '480')
Config.set('graphics', 'height', '320')
Config.set('graphics', 'borderless', '1')

class MyApp(App):
def build(self):
    button = Button(text="Exit", size_hint=(None, None))
    button.bind(on_press=exit)
    return button

if __name__ == '__main__':
    MyApp().run()

我想看看这是否可以在 Kivy 中完成。您能否建议一些解决此问题的方法?谢谢!

您可以使用小部件 BoxLayout 并配置设置,使其按您希望的方式显示。我是 Kivy 的新手,但这些视频解释得很好: https://m.youtube.com/watch?v=-NvpKDReKyg 希望这对您有所帮助!

您可以添加 Config.set ('graphics', 'resizable', '0') 以删除 window 的剩余边框部分。缺点是 window 不再可拖动并停留在固定位置。

要创建无边框 window,请将 Windows.borderless 属性 设置为 true

from kivy.core.window import Window

Window.size = (500, 300)
Window.borderless = True

请务必提供退出程序的替代方法,因为您将无法单击通常由 OS 提供的 window 关闭按钮。

kivy.core.window documentation