为啥无边框的 Kivy Window 会将内容向下和向右移动?

Posted

技术标签:

【中文标题】为啥无边框的 Kivy Window 会将内容向下和向右移动?【英文标题】:Why does a borderless Kivy Window shift content down and to the right?为什么无边框的 Kivy Window 会将内容向下和向右移动? 【发布时间】:2021-02-28 03:21:42 【问题描述】:

使用 Kivy,我想从应用程序窗口中删除默认边框(删除关闭、最小化和最大化按钮)。基于Kivy docs,我想将我的Windowborderless 值设置为True。但是,这样做会将窗口的内容向下和向右移动,从而在窗口的顶部和左侧露出黑色背景。

Screenshot of Window with borderless=False

Screenshot of Window with borderless=True

在上面的图像中,窗口内的白色来自Window.clearcolorborderless=True 图像中的黑色是我想要删除的,或者与我的其余内容重叠。

在下面的 sn-p 中,我删除了构成 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 以及如何position a borderless Kivy window 的类似问题的答案。

borderless 设置为True 时,谁能帮助诊断如何将我的窗口内容移回左上角?

注意:这是我的第一个 *** 问题,如果需要,请告诉我如何改进它!

【问题讨论】:

【参考方案1】:

好吧,我不确定确切的问题是什么,但是在解决了 PyCharm 中的几个不同问题(我的原始项目文件所在的位置)之后,我一时兴起尝试用 Sublime 打开同一个项目,但问题是没有存在时间更长。当我在 Sublime 中运行相同的代码时,我得到了预期的结果:

漂亮!正是我想要的。 =)我确定我不知何故弄乱了Pycharm中的Kivy设置而没有意识到,也许是构建器字符串?老实说,我不知所措。但我想,如果万一其他人遇到这种情况,请将您的 IDE 换成全新的状态,然后再试一次。

【讨论】:

以上是关于为啥无边框的 Kivy Window 会将内容向下和向右移动?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 margin-top 会将整个部分向下移动? [复制]

WPF一步步实现完全无边框自定义Window(附源码)

为啥无样式输入文本的边框宽度为 2px?

WPF一步步实现完全无边框自定义Window(附源码)

Kivy 滚动条滚动方向与鼠标

有没有一种简单的方法可以为 Kivy 按钮添加边框