如何从.py文件中获取变量到.kv文件Text_Input小部件中

时间:2017-07-19 23:38:12

标签: python python-2.7 kivy kivy-language

我正在尝试在.kv文件中有一个按钮,用当前时间更新.kv文件中的text_input小部件。

我将当前时间存储在.py文件中的函数变量中。

def get_time(self, event):
    dt3 = str(datetime.datetime.now().strftime("%H-%M"))
    return dt3

.kv文件的一部分:

CustButton:
    text: "Click for current Time"
    on_press: time3=root.get_time('dt3')

CustTextInput:
    id: time3
    hint_text: 
    font_size: 25

我没有收到任何错误但是当我点击没有任何反应时。我不确定是否需要将'dt3'存储在Object Property中以传递给.kv文件。

任何帮助将不胜感激。感谢。

2 个答案:

答案 0 :(得分:0)

我找到了解决方案。我在on_press命令按钮中缺少hint_text字段的引用。请参阅下面的工作代码:

CustButton:
    text: "Click for current Time"
    on_press: time3.hint_text=root.get_time('dt3')

CustTextInput:
    id: time3
    hint_text: ""
    font_size: 25

答案 1 :(得分:0)

您可能希望使用time3.text = root.get_time('dt3')代替hint_text,并readonly: True使用CustTextInput。另外,最好使用on_release代替on_press

CustButton:
    text: "Click for current Time"
    on_release: time3.text=root.get_time('dt3')

CustTextInput:
    id: time3
    text: ""
    readonly: True
    font_size: 25