Python Kivy-标签文本堆叠,直到调整窗口大小

Python Kivy-标签文本堆叠,直到调整窗口大小,python,kivy,Python,Kivy,我是Kivy的新手,尝试编写一个小程序,在点击按钮后将标签文本更改为文本框中输入的文本 我的问题是:单击按钮后,文本框中的文本显示为标签文本,但不幸的是,它与之前输入和“传输”的文本堆叠在一起。这意味着最新文本在前面,旧文本值在新文本后面仍然可见。调整窗口大小后,新文本将正确显示,旧文本将消失 main.py文件: from kivy.app import App from kivy.properties import ObjectProperty from kivy.uix.gridlayou

我是Kivy的新手,尝试编写一个小程序,在点击按钮后将标签文本更改为文本框中输入的文本

我的问题是:单击按钮后,文本框中的文本显示为标签文本,但不幸的是,它与之前输入和“传输”的文本堆叠在一起。这意味着最新文本在前面,旧文本值在新文本后面仍然可见。调整窗口大小后,新文本将正确显示,旧文本将消失

main.py文件:

from kivy.app import App
from kivy.properties import ObjectProperty
from kivy.uix.gridlayout import GridLayout


class Screen(GridLayout):
    o_txt1 = ObjectProperty(None)
    o_lbl1 = ObjectProperty(None)

    def show_text(self):
        self.o_lbl1.text = self.o_txt1.text


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


if __name__ == '__main__':
    MyApp().run()
my.kv-file:

<Screen>:
    o_txt1: txt1
    o_lbl1: lbl1
    cols: 2
    Label:
        id: lbl1
        text: 'lbl1'
    TextInput:
        id: txt1
        multiline: False
    Label:
        id: lbl2
        text: 'lbl2'
    TextInput:
        id: txt2
        multiline: False
    Button:
        id: but
        text: 'SHOW'
        on_release: root.show_text()
:
o_txt1:txt1
o_lbl1:lbl1
科尔斯:2
标签:
id:lbl1
文本:“lbl1”
文本输入:
id:txt1
多行:False
标签:
id:lbl2
文本:“lbl2”
文本输入:
id:txt2
多行:False
按钮:
id:但是
文本:“显示”
发布时:root.show\u text()

  • 如您所见,文本“lbl1”在新文本后面仍然可见
我的目标是:单击按钮时,“lbl1”的文本应更改为“txt1”中的文本,而无需调整窗口大小。


非常感谢

这对我来说很好。我猜您使用的是旧版本的kivy,可能有任何错误抱歉,我没有提供其他有用的信息。我使用的是Python 3.8.5和Kivy 2.0.0-不幸的是,Kivy的过时版本不是问题所在。我无法重现您的错误。我的一个很好用。这个对我很好用。我猜您使用的是旧版本的kivy,可能有任何错误抱歉,我没有提供其他有用的信息。我使用的是Python 3.8.5和Kivy 2.0.0-不幸的是,Kivy的过时版本不是问题所在。我无法重现您的错误。我的一个很好用。