这是我得到的输出。我正试图在顶部区域的最顶部和中心(中顶部(放置一个标签,但当我尝试这样做时,它就从屏幕上消失了。请帮助更改我正在编写的唯一代码。谢谢我尝试了什么。
.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')
这是我得到的输出
您的问题是双重
- 您的根小部件是一个简单的小部件,不会以任何方式处理其子部件
- 具有文本的
Label
变得与整个窗口一样大
第一个的解决方案是将FloatLayout
作为根窗口小部件
class kivyclass(FloatLayout):
pass
第二个,将其添加到kv
部分上的标签中
size_hint: None, None
size: self.texture_size