zhangzxpan 2023-02-02 22:03 采纳率: 76.5%
浏览 131
已结题

使用python-kivy如何点击按钮选择手机相册中的图片?

使用python-kivy开发android应用,如何点击按钮选择手机相册中的图片并获取URL?

  • 写回答

10条回答 默认 最新

  • wresource 优质创作者: 操作系统技术领域 2023-02-03 07:24
    关注

    基于ChatGpt的ai.cx团队的回答

    1. 首先,在你的应用程序中添加一个按钮,用于打开手机相册,并在按钮的 on_release 事件中添加以下代码:
    from kivy.app import App
    from kivy.uix.button import Button
    from kivy.uix.image import Image
    
    class MyApp(App):
        def build(self):
            btn = Button(text='Select Image')
            btn.bind(on_release=self.select_image)
            return btn
        def select_image(self, *args):
            img = Image(source=App.get_running_app().open_image())
    
    if __name__ == '__main__':
        MyApp().run()
    
    1. 然后,在 App 类中添加 open_image() 函数,用于打开手机相册并返回图片的 URL:
    from kivy.app import App
    from kivy.uix.button import Button
    from kivy.uix.image import Image
    from kivy.core.window import Window
    
    class MyApp(App):
        def build(self):
            btn = Button(text='Select Image')
            btn.bind(on_release=self.select_image)
            return btn
        def select_image(self, *args):
            img = Image(source=App.get_running_app().open_image())
        def open_image(self):
            Window.bind(on_activity_result=self.on_activity_result)
            self.activity.startActivityForResult(Intent(Intent.ACTION_PICK,
            MediaStore.Images.Media.EXTERNAL_CONTENT_URI), 0)
        def on_activity_result(self, requestCode, resultCode, data):
            if data is not None:
                uri = data.getData()
                return uri
    
    if __name__ == '__main__':
        MyApp().run()
    
    1. 在 on_activity_result 回调函数中,可以从 data 参数中获取图片的 URL,然后返回给 select_image 函数,从而实现点击按钮选择手机相册中的图片并获取 URL 的功能。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(9条)

报告相同问题?

问题事件

  • 系统已结题 2月15日
  • 已采纳回答 2月7日
  • 创建了问题 2月2日