Valign 不在 kivy 工作?
Valign not working in kivy?
我这里有这个 kivy 文件:
<Help>:
Label:
text: "[b]Help Page[/b]\n"
font_size: 30
markup: True
valign: "top"
color: 0,0,0,1
Label:
text: "[b] How To Use:[/b]\n"
font_size: 30
markup: True
valign: 'top'
color: 0,0,0,1
但是,文本不会到达页面顶部。这是输出:
这有什么问题?我也可以问一下如何格式化那些重叠的文本。谢谢:)
编辑:
这就是我想要的文本:
期望的输出
因此,为了获得该结果,我尝试使用 valign 和 halign 来格式化文本,但它似乎不起作用。希望这澄清了我的问题:)
在顶部显示文本
要使用 valign 在顶部显示文本:'top',将 text_size: root.width, None
替换为 text_size: root.width, root.height
片段
<Help>:
Label:
id: help
text_size: root.width, root.height
markup: True
valign: 'top'
halign: 'center'
color: 0,0,0,1
输出
将两个字符串显示为一个
要显示两个字符串,“如何操作:此处有一些文本”和“一些标题还有一些文本”作为一个,我们将执行以下操作:
kv 文件
<Help>:
Label:
id: help
text_size: root.width, None
markup: True
halign: 'center'
color: 0,0,0,1
Python代码
class Help(Screen):
def on_pre_enter(self, *args):
self.ids.help.text = "[size=30][b]How to Operate[/b][/size]\nSome text here" + \
"\n\n[size=30][b]Some title[/b][/size]\nSome more text"
输出 - 组合文本
文本重叠
Label 的文本重叠,因为您在屏幕布局中添加了两个 Label 小部件 on-top。
添加一个 BoxLayout 作为两个 Label 小部件的 parent 以防止文本重叠。
文字环绕
以特定宽度包裹文本,提供宽度。比如要在一个盒子里创建一个Label,宽度=200,高度不限。
Label(text='Very big big line', text_size=(200, None))
片段
<Help>:
BoxLayout:
orientation: 'vertical'
Label:
text_size: dp(230), None
height: self.texture_size[1]
text: "[size=30][b]How to Operate[/b][/size]Some text here"
markup: True
valign: "top"
halign: 'center'
color: 0,0,0,1
Label:
text_size: dp(150), None
text: "[size=30][b]Some title[/b][/size]Some more text"
markup: True
valign: 'top'
halign: 'center'
color: 0,0,0,1
输出
文本对齐
添加text_size: self.size
片段
<Help>:
Label:
text_size: self.size
text: "[b]Help Page[/b]\n"
font_size: 30
markup: True
valign: "top"
color: 0,0,0,1
Label:
text_size: self.size
text: "[b] How To Use:[/b]\n"
font_size: 30
markup: True
valign: 'top'
color: 0,0,0,1
In order for the halign and valign alignment properties to
take effect, set the text_size, which specifies the size of the
bounding box within which text is aligned.
输出
我这里有这个 kivy 文件:
<Help>:
Label:
text: "[b]Help Page[/b]\n"
font_size: 30
markup: True
valign: "top"
color: 0,0,0,1
Label:
text: "[b] How To Use:[/b]\n"
font_size: 30
markup: True
valign: 'top'
color: 0,0,0,1
但是,文本不会到达页面顶部。这是输出:
这有什么问题?我也可以问一下如何格式化那些重叠的文本。谢谢:)
编辑: 这就是我想要的文本:
期望的输出
因此,为了获得该结果,我尝试使用 valign 和 halign 来格式化文本,但它似乎不起作用。希望这澄清了我的问题:)
在顶部显示文本
要使用 valign 在顶部显示文本:'top',将 text_size: root.width, None
替换为 text_size: root.width, root.height
片段
<Help>:
Label:
id: help
text_size: root.width, root.height
markup: True
valign: 'top'
halign: 'center'
color: 0,0,0,1
输出
将两个字符串显示为一个
要显示两个字符串,“如何操作:此处有一些文本”和“一些标题还有一些文本”作为一个,我们将执行以下操作:
kv 文件
<Help>:
Label:
id: help
text_size: root.width, None
markup: True
halign: 'center'
color: 0,0,0,1
Python代码
class Help(Screen):
def on_pre_enter(self, *args):
self.ids.help.text = "[size=30][b]How to Operate[/b][/size]\nSome text here" + \
"\n\n[size=30][b]Some title[/b][/size]\nSome more text"
输出 - 组合文本
文本重叠
Label 的文本重叠,因为您在屏幕布局中添加了两个 Label 小部件 on-top。
添加一个 BoxLayout 作为两个 Label 小部件的 parent 以防止文本重叠。
文字环绕
以特定宽度包裹文本,提供宽度。比如要在一个盒子里创建一个Label,宽度=200,高度不限。
Label(text='Very big big line', text_size=(200, None))
片段
<Help>:
BoxLayout:
orientation: 'vertical'
Label:
text_size: dp(230), None
height: self.texture_size[1]
text: "[size=30][b]How to Operate[/b][/size]Some text here"
markup: True
valign: "top"
halign: 'center'
color: 0,0,0,1
Label:
text_size: dp(150), None
text: "[size=30][b]Some title[/b][/size]Some more text"
markup: True
valign: 'top'
halign: 'center'
color: 0,0,0,1
输出
文本对齐
添加text_size: self.size
片段
<Help>:
Label:
text_size: self.size
text: "[b]Help Page[/b]\n"
font_size: 30
markup: True
valign: "top"
color: 0,0,0,1
Label:
text_size: self.size
text: "[b] How To Use:[/b]\n"
font_size: 30
markup: True
valign: 'top'
color: 0,0,0,1
In order for the halign and valign alignment properties to take effect, set the text_size, which specifies the size of the bounding box within which text is aligned.