首页 > 解决方案 > 有没有办法制作标签,在kivy中与另一个标签产生特定距离

问题描述

我正在创建一个聊天机器人,我刚刚进入前端。我使用只读文本输入作为输入并单击发送后出现在屏幕上的文本,我无法找到创建标签的方法,在已经完成的标签下方,目前文本只是与我之前输入并单击发送的文本重叠,我在下面创建它,请帮助

Python代码

from kivy.app import App
from kivy.uix.textinput import TextInput
from kivy.uix.floatlayout import FloatLayout
from kivy.properties import ObjectProperty
from kivy.uix.label import Label
from kivy.uix.widget import Widget

import re
import time

class MyFL(FloatLayout):
    global input
    input = ObjectProperty(None)
    global button
    button = ObjectProperty(None)

    def btn(self):
        a = 0.95
        while len(self.input.text) > 0:
            self.add_widget(MyTextInput(text='> ' + self.input.text, pos_hint={'y':a}))
            a = a - 0.05
            self.input.text = ""


class MyTextInput(TextInput):
    pass


class MyApp(App):
    def build(self):
        return MyFL()


if __name__ == "__main__":
    MyApp().run()

.kv 文件

<FloatLayout>:

    input:input
    button:button

    TextInput:
        id: input
        multiline: False
        hint_text: "Say Something"
        size_hint: 1, 0.05
        font_size: 20

    Button:
        id:button
        size_hint: 0.05, 0.05
        pos_hint: {'center_x': 0.5, 'y': 0.06 }
        on_press: root.btn()

<MyTextInput>:
    size_hint: 1, None
    height: self.minimum_height
    readonly: True
    multiline:True

标签: pythonkivybotschatbot

解决方案


推荐阅读