从Kivy fi读取python2.7中的用户输入数据

2024-06-16 10:35:50 发布

您现在位置:Python中文网/ 问答频道 /正文

希望这对你们中的一些人来说是一个简单的问题。所以我正在研究一些与加热器控制器接口的代码。GUI主要是用Kivy语言编写的(用于划分不同的屏幕),但是我有一个.py文件,它将所有Kivy文件绑定在一起。在一个我的Kivy文件中,有几个TextInput字段供用户定义一些数值。填写完文本字段后,用户单击“开始”按钮开始加热器测试。 现在,我的问题是,当使用“Start”按钮作为标志时,如何让Python读取字段中的数值?我在网上看过一些关于使用.getraw_input方法的帖子,但是没有一篇文章能让Python从Kivy代码中检索和解释值。任何帮助都将不胜感激!在

这是my.py文件的一部分,在这里我需要计算用户输入值。。。在

class ControllerScreen(Screen):

def build(self):
    return ControllerScreen()

def CreateExcelFile(self):
        wb = Workbook()
        ws = wb.active
        ws.cell('A1').value = 'Timestamp'
        ws.cell('B1').value = 'Temperature'
        ws.cell('C1').value = 'Batch 1'
        ws.cell(row=2, column=1).value = 000
        wb.save("Spreadsheet1.xlsx")

这是Kivy文件的节选,包含用户在其中键入数字的单个文本字段的代码。。。在

^{pr2}$

最后,这里是一个图形用户界面的图片,它提供了一些我所关注的文本字段的参考(红色圆圈中的那个是我在上面代码中引用的那个)。。。在

GUI Interface


Tags: 文件代码用户py文本wsvaluedef
1条回答
网友
1楼 · 发布于 2024-06-16 10:35:50

要访问TextInput的值,您需要使用TextInput的属性text,因此要获得一个数字,您需要:

n = int(self.ids.ramp_time.text) #or float or whatever you need

但是,如果您不想访问ControllerScreen中的text,那么您需要管理类之间的通信,以便在它们之间使用变量。您可以用以下答案来实现它:12。在

有一个选项可以让你为你的输入设置一个filtering,这样你的用户就不会把事情搞砸(例如输入字母)

I've looked online and posts about using the .get and raw_input methods, but nothing that has Python retrieving and interpreting values from Kivy code.

我认为问题在于,您希望直接从python而不是Kivy获取用户的输入。我想说Kivy很新,所以在旧的教程/网站中不会提到。在官方网站或youtube上都有直接针对kivy的教程和文档。在

相关问题 更多 >