gpt4 book ai didi

python - 使用 python 读/写 kivy 小部件属性

转载 作者:行者123 更新时间:2023-12-05 06:42:14 25 4
gpt4 key购买 nike

我有 Python 的基本应用知识,我正在尝试自学 kivy。我希望能够让 Python 读取数据并将数据写入 kivy 小部件。

假设有一个地址簿应用程序可以将日期和时间插入到 TextInput 中。当应用程序启动时,让 Python 获取日期和时间并将其正确插入?

此程序代码将给出一个简单的地址簿示例:

from kivy.app import App

from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput

class AddressApp(App):
def build(self):
pass

if __name__ == '__main__':
AddressApp().run()

这是它的 address.kv 文件:

GridLayout:
cols: 2
Label:
text: 'Date'
TextInput:
id: textinputdate
Label:
text: 'Time'
TextInput:
id: textinputtime
Label:
text: 'Name'
TextInput:
id: textinputname
Label:
text: 'Address'
TextInput:
id: textinputaddress
Label:
text: 'email'
TextInput:
id: textinputemail
Label:
text: 'Phone'
TextInput:
id: textinputphone

在那之后,如果我想让 Python 读取...我不知道...呃...电话号码 TextInput,该怎么做?

最佳答案

如果您希望某些小部件具有额外的功能(例如:在应用程序启动时加载当前日期),请创建该小部件的自定义版本,以满足要求。在规则中读取小部件的值非常简单。示例:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.textinput import TextInput
from kivy.clock import Clock
import time

gui = '''
BoxLayout:
orientation: 'vertical'

GridLayout:
cols: 2

Label:
text: 'current time'

DateInput:
id: date_input

Button:
text: 'write date to console'
on_press: print(date_input.text)
'''


class DateInput(TextInput):

def __init__(self, **kwargs):
super(DateInput, self).__init__(**kwargs)
Clock.schedule_interval(self.update, 1) # update every second

def update(self, dt):
self.text = time.ctime()


class Test(App):

def build(self):
return Builder.load_string(gui)


Test().run()

关于python - 使用 python 读/写 kivy 小部件属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37771303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com