如何隐藏主窗口标题栏并在 kivy 框架中放置透明背景?

Posted

技术标签:

【中文标题】如何隐藏主窗口标题栏并在 kivy 框架中放置透明背景?【英文标题】:How can I hide the main window titlebar and place a transparent background in kivy framework? 【发布时间】:2014-01-04 00:14:32 【问题描述】:

我有一个小问题,我正在开发一个使用 python kivy gui 框架的小应用程序。 我想要的只是隐藏主窗口的标题栏并使背景颜色透明。我在网上搜索了很多,但找不到解决方案。

有人知道怎么做吗?

谢谢

【问题讨论】:

【参考方案1】:

有一个更简单的方法:

from kivy.app import App
from kivy.core.window import Window

class MyApp(App):
    def build(self):
        Window.borderless = True

# ...

http://kivy.org/docs/api-kivy.core.window.html#kivy.core.window.WindowBase.borderless

【讨论】:

Window.fullscreen = 'fake' 给出与无边框 = True 相同的结果。【参考方案2】:

您可以使用kivy.config.Config 禁用栏。将fullscreen设置为fake

from kivy.config import Config
Config.set('graphics', 'fullscreen', 'fake')

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

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()

您可以在此处找到更多配置选项:http://kivy.org/docs/api-kivy.config.html#available-configuration-tokens 例如,还要更改窗口的位置:

from kivy.config import Config
Config.set('graphics', 'fullscreen', 'fake')
Config.set('graphics', 'position', 'custom')
Config.set('graphics', 'top', '300')
Config.set('graphics', 'left', '300')

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

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()

很遗憾,我不知道是否可以添加透明度。

【讨论】:

fake 现在已弃用。请改用borderless = True

以上是关于如何隐藏主窗口标题栏并在 kivy 框架中放置透明背景?的主要内容,如果未能解决你的问题,请参考以下文章

如何在用户注销时隐藏侧边栏并在用户登录时显示侧边栏?

如何隐藏顶部导航栏并在菜单中仅显示底部

如何在导航栏下隐藏搜索栏并在用户下拉表格视图时显示它?

隐藏标签栏并在该位置添加工具栏

wxPython:如何在状态栏中放置额外的小部件?

禁用隐藏导航栏的触摸