【问题标题】:Reading user-input data in Python 2.7 from Kivy file从 Kivy 文件中读取 Python 2.7 中的用户输入数据
【发布时间】:2016-07-10 04:43:03
【问题描述】:

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

这是我的 .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 文件的摘录,其中包含用户在其中输入数字的单个文本字段的代码...

<ControllerScreen>:
    TextInput:                                    #Ramp time increment field
        id: ramp_time
        font_size: 25
        size_hint: 0.1,0.06
        pos_hint: {"right":0.575, 'y':0.67}

    Button:                             #Start analysis button
        on_release: app.root.current = "home"
        text: "Start"
        font_size: 25
        color: 0,1,0.5,1
        size_hint: 0.29,0.075
        pos_hint: {'x':0.35, 'y':0.1}

最后,这是一张图形用户界面的图片,可以参考我所关注的文本字段(红色圈出的是我在上面的代码中引用的那个)...

【问题讨论】:

    标签: python user-input kivy


    【解决方案1】:

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

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

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

    您可以选择为您的输入设置filtering,这样您的用户就不会搞砸(例如输入字母/s)

    我在网上查看过有关使用 .get 和 raw_input 方法的帖子,但没有任何关于 Python 从 Kivy 代码中检索和解释值的内容。

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

    【讨论】:

      猜你喜欢
      • 2017-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-09
      • 2018-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多