我正在用kivy编写一个桌面应用程序,但是它没有我想要的那样快。我有很多标签和按钮,有很多格式,只是颜色和大小不同。我希望,如果我创建一个自定义kivy标签的格式已经在它上面,将提高性能。我已经有我所有的格式标签,我想把它们都改成我的自定义kivy标签。在
Label:
text: "some text"
color: (0, 0.2, .4, 1)
size_hint: 1, 0.04
text_size: self.size
halign: 'left'
valign: 'top'
bold: True
canvas.before:
Color:
rgba: 1, 1, 1, 1
Rectangle:
pos: self.pos
size: self.size
所以我试图创建一个FormattedLabel类来添加我想要的所有格式,然后在kivy文件中更改FormattedLabel的标签。在
FormattedLabel:
text: "some text"
color: (0, 0.2, .4, 1)
size_hint: 1, 0.04
background_color: 0,0,0,1
但它并没有产生与我最初代码相同的结果: 1矩形的大小变小(更窄和更高),因此字母不再适合直线。我不知道如何将矩形的大小绑定到kivy文件中的size_提示。 2标签的颜色不变。 我不知道是因为代码不应该在init下,还是因为我不知道如何正确地编写它。提前感谢您的帮助!在
问题
根本原因
结果并不像预期的那样,因为Kivy还没有完成它的造型。例如,矩形的大小是关闭的,因为它使用小部件的默认大小,即(100,100)。在
解决方案
initialize_widget()
canvas.add
替换为canvas.before.add
,因为没有before
关键字,文本将不可见。在initialize_widget()
函数。在片段
相关问题 更多 >
编程相关推荐