我正在尝试构建一个基本的 Kivy 应用程序.添加基本元素并运行应用程序后,所有元素都挤在左下角.它在 android 和 Linux 上显示如下.
I am trying to build a basic Kivy app. After adding the basic elements, and running the app, all of the elements are crammed into the bottom left corner. It shows up like this on android and 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:
sublimelauncher.kv:
#:kivy 1.2.0
<SublimeLauncher>:
FloatLayout:
BoxLayout:
orientation: 'vertical'
spacing: 10
Label:
text: "Enter the path to the folder to open.
Press OK if you would like to open without a directory"
TextInput:
id: folderpath
Button:
text: 'OK'
我第一次尝试只使用 BoxLayout,但在某处读取的根小部件始终与应用程序一样大.如何声明应用程序的大小?还是布局?你会怎么做一些像对话框这样的事情?
I first tried it with just the BoxLayout, but read somewhere the root widget is always as big as the app. How do I declare the size of the app? Or the layout? How would you go about doing something like a dialog box?
也许我遗漏了一些非常基本的东西,但我似乎无法弄清楚.
Maybe I am missing something very basic, but I can't seem to figure it out.
这就是我所看到的......
here is what I am seeing..
由于你的根小部件不是布局(你让 SublimeLauncher 继承 Widget),它不会't 设置其子级大小/位置.所以你的 FloatLayout 有默认值,因为你也没有手动覆盖它们.
As your root widget is not a layout (you made SublimeLauncher inherit Widget), it doesn't set its children size/positions. So your FloatLayout have the defaults, since you don't override them manually either.
pos: 0, 0
size: 100, 100
这些默认值当然会限制孩子,因为 FloatLayout 会根据他们的 size_hint 属性来限制他们的大小.
And these defaults of course constraints the child, since FloatLayout by constraint their size based on their size_hint property.
正如 Nykakin 指出的那样,您想给他们更多的空间.
You want to give them more space, as Nykakin pointed out.
此外,由于您的文本比标签大(您也没有设置 halign 和 text_size),因此它的纹理以标签的中心为中心,因此它的某些部分超出了屏幕.你想看看 kivy/examples/widgets/textalign.py
Also, as your text is bigger than the Label (you didn't set halign and text_size either) its texture is centered on the center of the Label, and so some part of it is out of screen. You want to have a look at kivy/examples/widgets/textalign.py
这篇关于Kivy - 基础应用程序有奇怪的对齐方式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
如何制作一个在 Python 中提供角色的不和谐机器人How to make a discord bot that gives roles in Python?(如何制作一个在 Python 中提供角色的不和谐机器人?)
Discord 机器人没有响应命令Discord bot isn#39;t responding to commands(Discord 机器人没有响应命令)
你能得到“关于我"吗?Discord 机器人的功能?Can you Get the quot;About mequot; feature on Discord bot#39;s? (Discord.py)(你能得到“关于我吗?Discord 机器人的功能?(不和谐.py))
message.channel.id Discord PYmessage.channel.id Discord PY(message.channel.id Discord PY)
如何在 heroku 上托管我的 discord.py 机器人?How do I host my discord.py bot on heroku?(如何在 heroku 上托管我的 discord.py 机器人?)
discord.py - 自动更改角色颜色discord.py - Automaticaly Change an Role Color(discord.py - 自动更改角色颜色)