python输入文本函数_在Kivy中输入文本后如何调用函数

我试图在我的文本输入框中输入字符后调用函数。我试过绑定,但是不管输入什么,它都会调用它。我从一个手持式扫描仪获取输入并显示在文本输入框中。然后我最终会把它包括其他信息发送到一个csv文件中。在

主2.pyimport kivy

import subprocess

import csv

import datetime

kivy.require('1.9.0')

from kivy.app import App

from kivy.uix.boxlayout import BoxLayout

from kivy.clock import Clock

from kivy.uix.textinput import TextInput

from kivy.uix.widget import Widget

from kivy.uix.button import Button

from kivy.uix.behaviors import FocusBehavior

from kivy.uix.label import Label

from kivy.properties import StringProperty

from kivy.lang import Builder

from kivy.core.window import Window

dt = datetime.date.today()

pafa = ''

#presentation = Builder.load_file('utest.kv')

class Barcode(TextInput):

multiline = False

class PassFail(Label, Widget):

pass

class UsbApp(App):

def build(self):

b= BoxLayout(orientation='vertical')

t= Barcode(font_size = 50,

text="",

height=200,

background_color = (1,1,1,1)

)

l=Label(text="Hey!",

font_size=150

)

pf = PassFail(text='Pass/Fail',

font_size= 50,

background_color= (1,0,0,1),

color = (1,0,0,1),

bold=True

)

t.bind(text = l.setter('text'))

prompt=Label(text='Plug in device')

b.add_widget(prompt)

b.add_widget(t)

b.add_widget(pf)

t.bind(text=Clock.schedule_once(self.run_test, 2))

return b

def detect(self):

#detect when device is plugged in

pass

#device is detected change label

#def on_text(self, barcode, clock):

#self.barcode = Barcode().text

#Clock.schedule_once(self.run_test, 2)

def change_label(self):

if self.prompt.text is 'Plug in device':

self.prompt.text = 'Device detected'

elif self.prompt.text == 'Device detected':

self.prompt.text = 'Scan device'

elif self.prompt.text == 'Scan device':

self.prompt.text = 'Plug in device'

def run_test(self, proc):

#subprocess call to run app

looptest = subprocess.call('sudo ./h2hlooptest -v', shell=True)

#catch exit code then change label to Pass or fail

if looptest == 0:

pf = PassFail().text = 'Pass'

else:

pafa = PassFail().text = 'Fail'

self.csv_write(pafa)

def csv_write(self, pafa):

with open("results.csv", "a") as csv_file:

writer = csv.writer(csv_file, delimiter=',')

csvlist=[[dt, Barcode().text, pafa]]

writer.writerows(csvlist)

if __name__=="__main__":

UsbApp().run()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值