使用Kivy,我想删除应用程序窗口中的默认边框(删除关闭、最小化和最大化按钮)。根据Kivy docs,我希望将Window
的borderless
值设置为True
。但是,这样做会将窗口内容向下和向右移动,并在窗口的顶部和左侧显示黑色背景颜色。
Screenshot of Window with borderless=False
Screenshot of Window with borderless=True
在上面的图像中,窗口中的白色来自Window.clearcolor
,而borderless=True
图像中的黑色是我想要删除的内容,或者覆盖我的其余内容。
在下面的代码片段中,我删除了组成kivy应用程序内部小部件的所有代码,用一个空的GridLayout
替换它们,以显示内容的位置。
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.core.window import Window
class MyApp(App):
def build(self):
self.title = 'My App'
Window.clearcolor = (1, 1, 1, 1)
Window.size = (300, 430)
Window.borderless = True # This is what is being changed
return GridLayout()
if __name__ == '__main__':
MyApp().run()
我已经阅读了关于removing the default Kivy window border和how to position a borderless Kivy window的类似问题的答案。
有人能帮我诊断一下当borderless
设置为True
时如何将我的窗口内容移回左上角吗
注意:这是我的第一个Stackoverflow问题,如果需要的话,请告诉我如何改进它!
发布于 2020-11-19 13:51:27
嗯,我不确定确切的问题是什么,但在排除了PyCharm (保存我原始项目文件的地方)中的几个不同问题后,我一时兴起,尝试用Sublime打开相同的项目,但问题不再存在。当我在Sublime中运行相同的代码时,我得到了预期的结果:
漂亮的!这正是我想要的。=)我确定我不知何故搞错了Pycharm中的Kivy设置,而没有意识到这一点,也许是生成器字符串的问题?我真的不知所措。但我想,如果有任何偶然的机会,其他人遇到了这一点,切换到您的IDE为一个干净的石板,并再次尝试。
https://stackoverflow.com/questions/64866293
复制相似问题