无法将标签相对放置在中间顶部



这是我得到的输出。我正试图在顶部区域的最顶部和中心(中顶部(放置一个标签,但当我尝试这样做时,它就从屏幕上消失了。请帮助更改我正在编写的唯一代码。谢谢我尝试了什么。

.py file:
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.config import Config
from kivy.uix.widget import Widget
from kivy.graphics import Line, Color
from kivy.lang import Builder
from kivy.uix.image import Image
from kivy.uix.label import Label
from kivy.uix.relativelayout import RelativeLayout
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.anchorlayout import AnchorLayout

class kivyclass(Widget):
pass

class MainApp(App):
def build(self):
return kivyclass()
if __name__ == '__main__':
MainApp().run()


.kv file:
#:import utils kivy.utils
<kivyclass>:
canvas.before:
Color:
rgba: utils.get_color_from_hex('#d6fffc')
Rectangle:
size: self.size
pos: self.pos
AnchorLayout:
anchor_x: 'center'
anchor_y: 'top'
Label:
id: labcovid
text: 'Covid-19 Uttarakhand'
font_size: root.width/15
font_name: 'vollkorn.ttf'
color: utils.get_color_from_hex('#4a4a4a')

这是我得到的输出

您的问题是双重

  1. 您的根小部件是一个简单的小部件,不会以任何方式处理其子部件
  2. 具有文本的Label变得与整个窗口一样大

第一个的解决方案是将FloatLayout作为根窗口小部件

class kivyclass(FloatLayout):
pass

第二个,将其添加到kv部分上的标签中

size_hint: None, None
size: self.texture_size

最新更新