如何在Kivy中创建无边框窗口?

时间:2015-04-17 01:48:07

标签: python python-2.7 user-interface window kivy

我正在使用Kivy构建一个python桌面应用程序,并希望了解如何创建类似于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?,以及: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完成。你能提出一些解决这个问题的方法吗?谢谢!

3 个答案:

答案 0 :(得分:4)

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

from kivy.core.window import Window

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

请务必提供另一种退出程序的方法,因为您无法点击操作系统通常提供的窗口关闭按钮。

请参阅kivy.core.window documentation

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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