【问题标题】:Kivy app crashes while using the plyer libraryKivy 应用程序在使用 plyer 库时崩溃
【发布时间】:2019-07-21 16:31:25
【问题描述】:

正如您在下面看到的,我导入了 plyer 相机和电子邮件功能,当我调用电子邮件时,它打开电子邮件功能没有问题,并在我完成后返回,但是当我调用相机功能时,应用程序立即崩溃。我按照示例使用它,但是当我调用相机时它崩溃了。我使用 Python 2.7 并在我的 linux 机器上使用 buildozer 构建它。 我已将相机包含在权限中,并对内部存储进行读写。

def sendemail(self):

    email.send(text=self.ddata)

def camera(self,product):

    self.imagename = "testname"
    filepath = str((self.imagename) + ".jpg")

    try:
        camera.take_picture(filename=filepath,
                            on_complete=self.done)
    except NotImplementedError:
        pass

    def done(self, self.filepath):
            if(exists(self.filepath)):
                popup = MsgPopup("Picture saved!")
                popup.open()
            else:
                popup = MsgPopup("Could not save your picture!")
                popup.open()

请帮忙,我这几天一直在努力解决这个问题。

【问题讨论】:

  • 您确实应该发布minimal reproducible example,但至少我们如何使用您的self.done() 方法。
  • def done(self, self.filepath): if(exists(self.filepath)): popup = MsgPopup("图片已保存!") popup.open() else: popup = MsgPopup("无法保存您的图片!") popup.open()
  • 即使我让它“通过”而不采取任何行动,它仍然会崩溃。
  • 这看起来很合理。 plyer 相机代码是否会自动将保存的图像放在相机图像的常用目录中?还是需要提供可写文件夹的路径?
  • 现在我只想访问相机,所以我已经将文件保存在与 main.py 相同的位置,我在我的 android 设备上运行,其他文件我使用和创作作品,读写都很好。

标签: python-2.7 kivy


【解决方案1】:

所以我设法通过使用内置的 kivy 功能​​让相机正常工作。

<CameraClick>:
    orientation: 'vertical'
    Camera:
        id: camera
        resolution: (640, 480)
        play: False

https://kivy.org/doc/stable/examples/gen__camera__main__py.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-29
    • 2016-07-28
    • 1970-01-01
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    • 2015-09-24
    相关资源
    最近更新 更多