当前位置: 首页 > 面试题库 >

Kivy-基本应用程序具有奇怪的对齐方式

司徒茂实
2023-03-14
问题内容

我正在尝试构建基本的Kivy应用。添加基本​​元素并运行应用程序后,所有元素都塞入左下角。它在Android和Linux上显示如下。

Main.py:

from kivy.app import App
from kivy.uix.widget import Widget

class SublimeLauncher(Widget):
    pass

class SublimeLauncherApp(App):
    def build(self):
        return SublimeLauncher()

if __name__ == "__main__":
    SublimeLauncherApp().run()

sublimelauncher.kv:

#:kivy 1.2.0
<SublimeLauncher>:
    FloatLayout:
        BoxLayout:
            orientation: 'vertical'
            spacing: 10
            Label:
                text: "Enter the path to the folder to open.\nPress OK if you would like to open without a directory"
            TextInput:
                id: folderpath
            Button:
                text: 'OK'

我首先仅使用BoxLayout进行了尝试,但在某个地方读取了根小部件,它总是和应用程序一样大。如何声明应用程序的大小?还是布局?您将如何执行类似对话框的操作?

也许我缺少一些非常基本的东西,但是我似乎无法弄清楚。

编辑:这是我所看到的。

在此处输入图片说明


问题答案:

由于您的根窗口小部件不是布局(您SublimeLauncher继承了Widget),因此它不会设置其子级的大小/位置。因此,您FloatLayout有默认值,因为您也不会手动覆盖它们。

pos: 0, 0
size: 100, 100

这些默认值当然会约束子项,因为会FloatLayout根据其size_hint属性来约束其大小。

正如Nykakin所指出的,您想给他们更多的空间。

另外,由于文本大于标签(您也未设置halign和text_size),因此其纹理位于标签中心,因此屏幕的某些部分不在屏幕上。您想看看kivy /
examples / widgets / textalign.py



 类似资料:
  • 我正在尝试将我的grails应用程序从h2切换到PostgreSQL。我为达到目标所做的步骤: > 从http://jdbc.postgresql.org/download.html下载JDBC(JDBC4 Postgresql驱动程序,版本9.3-1100) 将JDBC附加到 /lib文件夹 更改数据源。现在看起来像: 现在比赛开始了。我在GGTS中键入“run app”时出错。由于验证原因,我

  • 我有一个表单组件,它从其父级获取其状态。表单组件只呈现一些输入字段和其他字段。 父组件使用useReucer并将值向下传递给表单组件。 有两个父组件,一个允许用户使用表单创建,另一个允许他们编辑。 在编辑父组件中,我使用useEffect从api获取数据,并从服务器设置初始状态。 在开发构建中,当组件呈现时,有时会出现以下错误: 超过最大更新深度。当组件在componentWillUpdate或c

  • 鉴于以下代码: 为什么开关语句在上匹配? 我的理解是,当时,不匹配,因为(实际上)计算结果为false。VS Code上的IntelliSense告诉我,也是一个

  • 问题内容: 我可以在android中居中对齐应用程序名称吗 默认情况下,应用程序名称在左侧对齐。 那么如何使其居中对齐 问题答案: 您将在xml中尝试

  • 问题内容: 我在JTextPane / JTextField(或它们下方的字体渲染中的某个地方)中发现了一个奇怪的错误。我想知道是否有人遇到过这种情况,并且可能对此有解决方案。 我试图在JTextPane中显示一些“特殊”或稀有字符,并且一旦更改JTextField的字体(与JTextPane完全无关!),JTextPane就会“分手”,不再显示这些字符字符。 这应该可以更好地解释我的意思: 编辑

  • 由于某种原因,Java快速入门应用程序完全停止了对我的工作。我以为我把事情搞砸了,但现在我不确定是什么问题。有人知道发生了什么吗?我使用的是App Engine 1.8.5。这是我第一次验证后收到的日志中的错误: 2013-10-10 14:28:23.230/index . JSP 500 25 ms 0kb Mozilla/5.0(Macintosh;英特尔Mac OS X 10 _ 8 _