函数“on\u complete”在kivy app上的ply“completed”之前调用

2024-05-15 21:43:16 发布

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

又是我! 嗯,这真的很奇怪。 我正在用kivy为Android做一个应用程序。 我可以使用相机,但或应用程序重置或做一些奇怪的事情。 问题是:

def chamar_camera(nome,pc,objeto,label_passa,instance): 

    agora = datetime.now()
    nome_arquivo = '%s_%s_%.4i_%.2i_%.2i_%.2i_%.2i_%.2i.jpg' % (nome,pc,agora.year,agora.month,agora.day,agora.hour,agora.minute,agora.second)

    # Option 1 - These two lines work:
    #def sair():print 'oi'
    #camera.take_picture(nome_arquivo, sair)

    # Option 2 - These two lines work too:
    def sair(label_passa,nome_arquivo):print 'oi'
    camera.take_picture(nome_arquivo,on_complete=sair(label_passa,nome_arquivo))

    # Option 3 - But these don't:
    #def sair(label_passa,nome_arquivo):label_passa.text = nome_arquivo
    #camera.take_picture(nome_arquivo, on_complete=sair(label_passa,nome_arquivo))

    def on_pause(self):return True
    def on_resume(self):pass

在选项3中,我在标签小部件(label\u passa)上写了一个文本(nome\u arquivo),但是所发生的事情是在激活相机之前写的文本。所以相机出现了,我可以拍照,然后应用程序重新启动。我还尝试了一个“def sair():pass”,但这不起作用。唯一有效的是“打印”,但在我的应用程序上,我需要在这个标签上写一些东西,并更新sqlite数据库。你知道为什么在摄像机动作前调用这个函数吗? 谢谢!你知道吗


Tags: 应用程序ondef事情labelcameraoptionpc